home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Bavarian / Bavarian #099 (19xx)(APS Electronic).zip / Bavarian #099 (19xx)(APS Electronic).adf / trucking < prev    next >
Text File  |  1988-12-02  |  54KB  |  2,148 lines

  1. REM Programm  :  TRUCKING
  2. REM Art       :  Wirtschaftsspiel
  3. REM Basic     :  AmigaBasic
  4. REM Computer  :  A500
  5. REM Autor     :  Martin Bormann
  6. REM Anschrift :  Wohldenbergstr.19
  7. REM              3201 Holle 7
  8. REM Advisor   :  Werner Lentz
  9. REM Anschrift :  Hohnsen 17
  10. REM              3200 Hildesheim
  11. REM I         :  November 1988-Januar 1989
  12. REM U         :
  13.  
  14. SCREEN 2,640,240,3,2
  15. WINDOW 2,"",,0,2
  16. WINDOW 3,"",(0,200)-(630,225),0,2
  17. DECLARE FUNCTION xOpen& LIBRARY
  18. DECLARE FUNCTION xRead& LIBRARY
  19. DECLARE FUNCTION xWrite LIBRARY
  20. DECLARE FUNCTION AllocMem&() LIBRARY
  21. DECLARE FUNCTION Move& LIBRARY
  22. DIM stadt$(85),stadtx%(85),stadty%(85),lkenn%(85)
  23. DIM waren$(41),tr(41),pr(41)
  24. DIM stand$(35),standx%(35),standy%(35),stkos(35),lstand%(35)
  25. DIM land$(10)
  26. DIM kfz(5,4,4),die(5,4,4),stre(5,4,4),fako(5,4,4)
  27. DIM ko(5,4),stand1%(5,4),stand2%(5,4),stand0%(5)
  28. DIM topscore$(15),topscore(15),fahrt$(11),fahrt(11),landfahrt(11)
  29. DIM inh(4),ver(4),ab(4),tem(4),ra(4),allgem$(8),reifzu$(8)
  30. DIM alter(5,4,4),rei(5,4,4)
  31. DIM ro%(24726),hl%(2595)
  32. DIM monat$(12)
  33. RESTORE bildname
  34. FOR i%=1 TO 9:READ bild$(i%):NEXT i%
  35. LIBRARY "dos.library"
  36. LIBRARY "exec.library"
  37. LIBRARY "graphics.library"
  38. PALETTE 1,1,1,1:PALETTE 2,0,0,0:PALETTE 3,1,.8,0:PALETTE 4,.33,.87,0
  39. l=1:GOSUB ladebild
  40. text "Einen kleinen Augenblick bitte !"
  41. OPEN "trucking.set/pfeil" FOR INPUT AS 1
  42. OBJECT.SHAPE 1,INPUT$(LOF(1),1)
  43. CLOSE 1
  44. OBJECT.SHAPE 2,1 
  45. OBJECT.SHAPE 3,1
  46. OBJECT.SHAPE 4,1
  47. OPEN "trucking.set/lkw" FOR INPUT AS 1
  48. OBJECT.SHAPE 5,INPUT$(LOF(1),1)
  49. CLOSE 1
  50. OBJECT.SHAPE 6,5
  51. OBJECT.SHAPE 7,5
  52. OBJECT.SHAPE 8,5
  53. OBJECT.SHAPE 9,5
  54. OBJECT.SHAPE 10,5
  55. COLLISION OFF 
  56. OPEN "I",#1,"trucking.set/stadtko"
  57. FOR i%=0 TO 85
  58.   LINE INPUT #1,stadt$(i%)
  59.   INPUT #1,stadtx%(i%)
  60.   INPUT #1,stadty%(i%)
  61. NEXT i%:CLOSE 1
  62. GOSUB truckinghigh
  63. FOR i%=0 TO 8:lkenn%(i%)=0:NEXT i%
  64. FOR i%=9 TO 11:lkenn%(i%)=1:NEXT i%
  65. lkenn%(12)=2
  66. FOR i%=13 TO 17:lkenn%(i%)=3:NEXT i%
  67. FOR i%=18 TO 50:lkenn%(i%)=4:NEXT i%
  68. FOR i%=51 TO 54:lkenn%(i%)=5:NEXT i%
  69. FOR i%=55 TO 58:lkenn%(i%)=6:NEXT i%
  70. FOR i%=59 TO 66:lkenn%(i%)=7:NEXT i%
  71. FOR i%=67 TO 69:lkenn%(i%)=8:NEXT i%
  72. FOR i%=70 TO 76:lkenn%(i%)=9:NEXT i%
  73. FOR i%=77 TO 85:lkenn%(i%)=10:NEXT i%                    
  74. OPEN "I",#1,"trucking.set/waren"
  75. FOR i%=0 TO 41
  76.   LINE INPUT #1,waren$(i%)
  77.   INPUT #1,tr(i%)
  78.   INPUT #1,pr(i%)
  79. NEXT i%:CLOSE 1   
  80. RESTORE lkwpreise
  81. FOR i%=1 TO 4:READ lkw$(i%),lkwpreis(i%):NEXT i%
  82. FOR i%=1 TO 4:READ inh(i%),ver(i%),ab(i%),tem(i%),ra(i%):NEXT i%  
  83. FOR i%=1 TO 8:READ allgem$(i%):NEXT i%:FOR i%=1 TO 8:READ reifzu$(i%):NEXT i%
  84. RESTORE standko
  85. FOR i%=1 TO 35
  86.   READ a
  87.   stand$(i%)=stadt$(a)
  88.   standx%(i%)=stadtx%(a):standy%(i%)=stadty%(a):lstand%(i%)=lkenn%(a)
  89.   READ stkos(i%)
  90. NEXT i%
  91. stand$(0)="------------"
  92. RESTORE land
  93. FOR i%=0 TO 10:READ land$(i%):NEXT i% 
  94. neuspiel=0
  95. CALL SetDrMd(WINDOW(8),1)
  96. RESTORE monat
  97. FOR i%=1 TO 12:READ monat$(i%):NEXT
  98. jahr=1988
  99.  
  100. neuspiel:
  101. IF neuspiel=1 THEN
  102.  l=1:GOSUB ladebild
  103.  neuspiel=0:GOSUB frei
  104.  text "Gleich geht´s wieder los."
  105.  jahr=1988
  106.  ERASE kfz:DIM kfz(5,4,4)
  107.  ERASE die:DIM die(5,4,4)
  108.  ERASE stre:DIM stre(5,4,4)
  109.  ERASE fako:DIM fako(5,4,4)
  110.  ERASE ko:DIM ko(5,4)
  111.  ERASE stand1%:DIM stand1%(5,4)
  112.  ERASE stand2%:DIM stand2%(5,4)
  113.  ERASE stand0%:DIM stand0%(5)
  114. END IF
  115. RANDOMIZE TIMER 
  116. FOR i=1 TO 5
  117.   poi(i)=0
  118.   kap(i)=100000&
  119.   kr=INT(RND*40001&+1)+50000&
  120.   kredit(i)=-kr
  121.   rp(i)=0:stern(i)=0:besitz(i)=0:stand0%(i)=0
  122.   FOR j=1 TO 4
  123.    stand1%(i,j)=15:stand2%(i,j)=100
  124.   NEXT j
  125. NEXT i
  126. un=1:au=0:fa=1:an=0:runde=1:b1%=9:b2%=19:b3%=61:b4%=87:zuf1=0:sonder=0
  127. urlaub=0
  128.  
  129. abfr:
  130. jack=0:renn=INT(RND*40000&)+80000&
  131. GOSUB frei
  132.  text "Anzahl der Unternehmer ? (max.5) < 0 = Spiel laden  99 = Anleitung >"
  133.  INPUT unt
  134.  IF unt=0 THEN GOTO losa
  135.  IF unt=99 THEN GOTO erkl
  136.  IF unt>5 THEN
  137.     GOSUB frei
  138.     text "Unkorrekte Eingabe !!!"
  139.     text ".... bin beleidigt !!!"
  140.     FOR i=1 TO 5000:NEXT i
  141.     GOTO abfr
  142.  END IF     
  143.  FOR i=1 TO unt
  144.    a$="Name Unternehmer # "+STR$(i)+" (max.10 Zeichen)"
  145.    GOSUB frei
  146.    text a$
  147.    LINE INPUT nam$(i)
  148.    IF LEN(nam$(i)) >10 THEN
  149.       nam$(i)=MID$(nam$(i),1,10)
  150.    END IF
  151.    a$=nam$(i)+"´s Unternehmen heißt ? (max.10 Zeichen)"     
  152.    text a$
  153.    LINE INPUT firma$(i)
  154.    IF LEN(firma$(i)) >10 THEN
  155.       firma$(i)=MID$(firma$(i),1,10)
  156.    END IF   
  157.  NEXT i
  158.  nam$(0)="little Amiga"  
  159.  text "OK Trucker, ich schmeiß die Maschiene an !"
  160.  yupp=1:sta=1
  161. GOTO start
  162.  
  163. starta:
  164. IF weiter=1 THEN
  165.  PUT(0,0),ro%,PSET
  166. IF besitz(un)>0 THEN
  167.  kap(un)=kap(un)-25000:jack=jack+15000
  168.  text "Strafe: 25.000 DM"
  169. END IF
  170.  GOSUB poi
  171.  un=un+1
  172.  IF un>unt THEN un=1:runde=runde+1:yupp=yupp+1
  173.  au=0:an=0:fa=1:zuf1=0:ERASE fako:DIM fako(5,4,4)
  174.  kreditzins=0:sta=1
  175.  kap(un)=kap(un)-rp(un)
  176.  IF kap(un)<0 THEN
  177.   kreditzins=INT((kap(un)/100)*3)
  178.   kap(un)=kap(un)+INT(kreditzins/besitz(un))
  179.  END IF
  180.  weiter=0
  181.  GOTO start2
  182. END IF
  183. zuf1=0
  184. IF fa>besitz(un) THEN
  185.   GOSUB poi
  186.   un=un+1
  187.   IF un>unt THEN un=1:runde=runde+1:yupp=yupp+1
  188.   fa=1:ERASE fako:DIM fako(5,4,4)
  189.   kreditzins=0:sta=1
  190.   kap(un)=kap(un)-rp(un)
  191.   IF kap(un)<0 THEN
  192.    kreditzins=INT((kap(un)/100)*3)
  193.    kap(un)=kap(un)+INT(kreditzins/besitz(un))
  194.   END IF
  195. END IF
  196.  
  197. start:
  198. IF kap(un)<0 THEN kreditzins=INT((kap(un)/100)*3)
  199. l=3:GOSUB ladebild
  200. GOSUB frei
  201. GET(0,0)-(640,200),ro%
  202.  
  203. start2:
  204. IF yupp=13 THEN GOSUB highcontrol:yupp=1:jahr=jahr+1:runde=1:sonder=0
  205. IF yupp=12 AND sonder=0 THEN sonder=1:GOSUB sonderinfo
  206. IF yupp=7 AND urlaub=0 THEN urlaub=1:GOSUB sonderinfo1
  207. GOSUB sonderinfo2
  208. GOSUB dipr
  209. COLOR 1,6
  210. settext 20,15,"Unternehmer : "+nam$(un)
  211. settext 20,23,"Firma       : "+firma$(un)
  212. settext 20,31,"Abgaben     : "+STR$(rp(un))
  213. settext 20,39,"Dispokredit : "+STR$(kredit(un))
  214. settext 20,47,"Kreditzinsen: "+STR$(kreditzins)
  215. settext 250,15,monat$(runde)+" "+STR$(jahr)
  216. settext 250,23,"Spieler # "+STR$(un)
  217. settext 250,31,"Auftrag # "+STR$(au)
  218. settext 250,39,"LKW´s   : "+STR$(besitz(un))
  219. settext 250,47,"Fahrt   : "+STR$(fa)
  220. xs%=510
  221. FOR i=1 TO 4:ys%=8+(i*9)
  222.  e&=Move&(WINDOW(8),xs%,ys%)
  223.  PRINT stand$(ko(un,i))
  224. NEXT i
  225. IF au>0 THEN GOSUB auftrag2
  226. IF au=0 THEN
  227.  COLOR 0,6
  228.  settext 360,77,"JACKPOTT :"+STR$(jack)+" DM"
  229.  settext 360,93,"Nächstes Rennen ab:"
  230.  settext 360,101,STR$(renn)+" DM"
  231. END IF 
  232.  
  233. start3:
  234. GOSUB dipr
  235. COLOR 1,3:GOSUB box
  236. settext 101,127,STR$(kap(un))
  237. settext 235,85,STR$(dp)
  238. xs%=130
  239. FOR i=1 TO 4:ys%=138+(i*10)
  240.  e&=Move&(WINDOW(8),xs%,ys%)
  241.  PRINT kfz(un,sta,i);
  242.  IF fako(un,sta,i)=1 THEN PRINT "*"
  243. NEXT i 
  244. xs%=174
  245. FOR i=1 TO 4:ys%=138+(i*10)
  246.  e&=Move&(WINDOW(8),xs%,ys%)
  247.  PRINT die(un,sta,i)
  248. NEXT i 
  249. xs%=239
  250. FOR i=1 TO 4:ys%=138+(i*10)
  251.  e&=Move&(WINDOW(8),xs%,ys%)
  252.  PRINT stre(un,sta,i)
  253. NEXT i 
  254. GOSUB frei 
  255.  
  256. start1:
  257.  IF jack>renn THEN GOTO rennen
  258.  GOSUB maus
  259.  IF y>6 AND y<49 AND x>14 AND x<483 THEN
  260.   GOTO spielercheck
  261.  END IF
  262.  IF y>68 AND y<89 AND x>24 AND x<197 THEN
  263.     IF x>24 AND x<74 THEN weiter=1:GOTO starta
  264.     IF x>86 AND x<136 THEN GOTO route
  265.     IF x>147 AND x<197 THEN GOTO losa
  266.     GOTO start1
  267.  END IF
  268.  IF y>93 AND y<114 AND x>24 AND x<197 THEN
  269.     IF x>24 AND x<74 THEN
  270.       IF zuf1=1 THEN GOTO unver
  271.       zuf=INT(RND*100+1):IF zuf<30 THEN GOTO unver
  272.       GOTO handel
  273.     END IF  
  274.     IF x>86 AND x<136 THEN GOTO yuppi
  275.     IF x>147 AND x<197 THEN
  276.       au=au+1
  277.       IF au>4 THEN GOTO noauftrag
  278.       COLOR 6,6:settext 250,31,"             "
  279.       COLOR 1,6:settext 250,31,"Auftrag # "+STR$(au)
  280.       GOSUB auftrag
  281.       GOTO start1
  282.     END IF  
  283.  END IF
  284.  IF x>507 AND x<618 AND y>9 AND y<46 THEN
  285.     IF y>9 AND y<19 THEN sta=1:PUT(0,0),ro%,PSET:GOTO start2
  286.     IF y>18 AND y<28 THEN sta=2:PUT(0,0),ro%,PSET:GOTO start2
  287.     IF y>27 AND y<37 THEN sta=3:PUT(0,0),ro%,PSET:GOTO start2
  288.     IF y>36 AND y<46 THEN sta=4:PUT(0,0),ro%,PSET:GOTO start2
  289.     GOTO start1
  290.  END IF
  291.  IF x>205 AND x<255 AND y>93 AND y<114 THEN GOTO standorte
  292.  IF x>265 AND x<314 AND y>93 AND y<114 THEN GOTO ende
  293.  IF x>353 AND x<615 AND y>61 AND y<183 THEN
  294.     IF y>61 AND y<87 THEN an=1:GOTO box1
  295.     IF y>93 AND y<119 THEN an=2:GOTO box1
  296.     IF y>125 AND y<151 THEN an=3:GOTO box1
  297.     IF y>157 AND y<183 THEN an=4:GOTO box1
  298.     GOTO start1
  299.  END IF
  300.  IF y>138 AND y<181 AND x>21 AND x<124 THEN
  301.      IF y<181 THEN ll=4
  302.      IF y<171 THEN ll=3
  303.      IF y<161 THEN ll=2
  304.      IF y<151 THEN ll=1
  305.    IF kfz(un,sta,ll)=1 THEN
  306.      GOTO lkwcheck
  307.    END IF
  308.  END IF  
  309.  IF y>138 AND y<181 AND x>166 AND x<233 THEN
  310.      IF y<181 THEN ue=4
  311.      IF y<171 THEN ue=3
  312.      IF y<161 THEN ue=2
  313.      IF y<151 THEN ue=1
  314.      maxdie=9*inh(ue)
  315.      IF kfz(un,sta,ue)=0 THEN
  316.        text "Ohne LKW keine Dieselgutscheine !"
  317.        GOTO start1
  318.      END IF  
  319.      IF die(un,sta,ue)>maxdie THEN
  320.        BEEP
  321.        text "Wenn Sie mehr Diesel benötigen, sollten Sie sich eine Ölfirma kaufen !"
  322.        GOTO start1
  323.      END IF
  324.      die(un,sta,ue)=die(un,sta,ue)+inh(ue)
  325.      kap(un)=kap(un)-INT(dp*inh(ue))
  326.      GOSUB dipr
  327.      COLOR 3,3:settext 235,85,"     ":settext 101,127,"            "
  328.      xs%=174:ys%=138+(ue*10)
  329.      e&=Move&(WINDOW(8),xs%,ys%)
  330.      PRINT "     ":COLOR 1,3
  331.      e&=Move&(WINDOW(8),xs%,ys%)
  332.      PRINT die(un,sta,ue)
  333.      settext 101,127,STR$(kap(un))
  334.      settext 235,85,STR$(dp)
  335.  END IF  
  336. GOTO start1   
  337.  
  338. handel:
  339. IF ko(un,sta)=0 THEN
  340.   text "Wo soll der LKW hin ?"
  341.   text "In Ihr Wohnzimmer ?  Ich sehe keinen Standort !"
  342.   FOR i=1 TO 2000:NEXT i
  343.   GOSUB frei:GOTO start1
  344. END IF  
  345. l=2:GOSUB ladebild
  346. GET(0,0)-(640,200),ro%
  347. GOSUB frei:COLOR 0,5
  348. settext 100,188,STR$(kap(un))
  349. vk=0:text "Ihr Wunsch ?"
  350.  
  351. handel1:
  352. GOSUB maus
  353. IF y>172 AND y<190 THEN
  354.   IF x>271 AND x<350 THEN
  355.     IF vk=1 THEN
  356.      text "Bitte treffen Sie Ihre Wahl."
  357.      GOTO handel1
  358.     END IF 
  359.     IF vk=2 THEN text "Aaah ! Ich wußte es doch ..."
  360.     text "Sie möchten einen LKW kaufen ?"
  361.     text "Seien Sie herzlich willkommen ! - Wählen Sie aus meinem Angebot."
  362.     vk=1:GOTO handel1
  363.   END IF
  364.   IF x>376 AND x<471 THEN
  365.     IF vk=2 THEN
  366.       text "Dadurch bekommen Sie auch nicht mehr Geld."
  367.       GOTO handel1
  368.     END IF
  369.     IF vk=1 THEN text "... und ich dachte schon - nun ja ..."  
  370.     text "Verkaufen wollen Sie ?"
  371.     text "Dann zeigen Sie mal Ihren alten Laster..."
  372.     PUT(0,0),ro%,PSET
  373.     vk=2:GOTO handel1
  374.   END IF
  375.   IF x>497 AND x<590 THEN GOTO start
  376. END IF   
  377. IF y>13 AND y<94 THEN  
  378.   IF x>6 AND x<304 THEN GET(43,20)-(237,64),hl%:ue=1
  379.   IF x>=304 AND x<622 THEN GET(326,13)-(568,66),hl%:ue=2
  380. END IF
  381. IF y>=94 AND y<164 THEN
  382.   IF x>6 AND x<304 THEN GET(35,99)-(289,135),hl%:ue=3
  383.   IF x>=304 AND x<622 THEN GET(383,98)-(540,142),hl%:ue=4
  384. END IF
  385. IF vk=1 AND kap(un)-lkwpreis(ue)<kredit(un) THEN
  386.   text "Ich habe hier Ihre Bankauskunft. Ihr Kontostand beläuft sich momentan"
  387.   text "auf "+STR$(kap(un))+" DM. Leider ist eine Finanzierung nicht möglich."
  388.   text "Diese Auskunft ist kostenpflichtig. Sie zahlen 50 DM !"
  389.   kap(un)=kap(un)-50:jack=jack+50:settext 100,188,"            "
  390.   settext 100,188,STR$(kap(un))
  391.   vk=0:GOTO handel1
  392. END IF
  393. IF vk=1 AND kfz(un,sta,ue)=1 THEN
  394.   text "Das Straßenverkehrsamt teilt mit, daß Sie bereits einen"
  395.   text lkw$(ue)+" in Ihrem Standort besitzen. Dieser Spaß kostet Sie 5.000 DM"
  396.   kap(un)=kap(un)-5000:jack=jack+5000:settext 100,188,"            "
  397.   settext 100,188,STR$(kap(un))
  398.   vk=0:GOTO handel1
  399. END IF    
  400. IF vk=1 THEN
  401.  text "Sehr gute Wahl, ein "+lkw$(ue)+" leistet immer gute Dienste."
  402.  text "Der Kaufpreis in Höhe von"+STR$(lkwpreis(ue))+" DM wird abgebucht."
  403.  kap(un)=kap(un)-lkwpreis(ue)
  404.  fako(un,sta,ue)=0:kfz(un,sta,ue)=1:rp(un)=rp(un)+ab(ue)
  405.  die(un,sta,ue)=0:alter(un,sta,ue)=0:stre(un,sta,ue)=0
  406.  rei(un,sta,ue)=0:besitz(un)=besitz(un)+1:stern(un)=stern(un)+ue
  407.  settext 100,188,"            "
  408.  settext 100,188,STR$(kap(un))
  409.  vk=0 
  410.  IF ue=1 THEN xl=43:yl=20
  411.  IF ue=2 THEN xl=326:yl=13
  412.  IF ue=3 THEN xl=35:yl=99
  413.  IF ue=4 THEN xl=383:yl=98
  414.  IF ue=1 OR ue=3 THEN
  415.   WHILE xl>-300
  416.    PUT(xl,yl),hl%,PSET
  417.     xl=xl-3
  418.   WEND
  419.  END IF
  420.  IF ue=2 OR ue=4 THEN
  421.   WHILE xl<640
  422.    PUT(xl,yl),hl%,PSET
  423.      xl=xl+3
  424.   WEND
  425.  END IF
  426.  text "Ihr Wunsch ?"
  427. GOTO handel1
  428. END IF
  429. IF vk=2 AND kfz(un,sta,ue)=0 THEN
  430.   text "Sie besitzen keinen "+lkw$(ue)+" in Ihrem Standort !!"
  431.   text "Zahlen Sie 10.000 DM Strafe !!"
  432.   kap(un)=kap(un)-10000
  433.   jack=jack+10000
  434.   settext 100,188,"            "
  435.   settext 100,188,STR$(kap(un))
  436.   vk=0
  437.   GOTO handel1
  438. END IF   
  439. IF vk=2 THEN
  440.  text "Hmm, ein "+lkw$(ue)+" naja, also wenn ich ehrlich bin ..."
  441.  text "Hier ein Rostfleck, da grober Schmutz, der Aschenbecher ist voll ..."
  442.  FOR i=1 TO 3000:NEXT i
  443.  wawe=((INT(lkwpreis(ue)/100)*80)-INT(stre(un,sta,ue)/ue+1))
  444.  wawe=wawe-(INT(alter(un,sta,ue)*20)-INT(RND*(ue*500))+1)
  445.  IF wawe<0 THEN wawe=INT(RND*10+1)
  446.  text "Also, ich biete Ihnen"+STR$(wawe)+" DM für diesen Wagen."
  447.  text "Geben Sie Ihr Einverständnis durch anklicken des VERKAUFEN-Feldes."
  448.  text "Jedes andere Feld bedeutet die Ablehnung meines großzügigen Angebotes."
  449.  GOSUB maus
  450.  IF y>172 AND y<190 AND x>376 AND x<470 THEN
  451.    vk=0
  452.    text "Das Geld wird Ihrem Konto zugewiesen."
  453.    kap(un)=kap(un)+wawe
  454.    fako(un,sta,ue)=0:kfz(un,sta,ue)=0:rp(un)=rp(un)-ab(ue)
  455.    die(un,sta,ue)=0:alter(un,sta,ue)=0:stre(un,sta,ue)=0
  456.    rei(un,sta,ue)=0:besitz(un)=besitz(un)-1:stern(un)=stern(un)-ue
  457.    settext 100,188,"            "
  458.    settext 100,188,STR$(kap(un))
  459.    GOTO handel1
  460.  END IF
  461.  text "Dann eben nicht !"
  462.  vk=0
  463. END IF
  464. GOTO handel1
  465.  
  466. standorte:
  467. l=5:GOSUB ladebild
  468. GOSUB frei
  469. FOR i=1 TO 4
  470.   OBJECT.X i,stand1%(un,i)-10
  471.   OBJECT.Y i,stand2%(un,i)
  472.   OBJECT.ON i
  473. NEXT i
  474. COLOR 1,6
  475. xs%=10
  476. FOR i= 1 TO 4:ys%=152+(i*10)
  477.  e&=Move&(WINDOW(8),xs%,ys%)
  478.  PRINT stand$(ko(un,i))
  479. NEXT i 
  480. text "Anzahl der belegten Standorte: "+STR$(stand0%(un))
  481.  
  482. standorte1:
  483. text "Wähle neu !"
  484. GOSUB maus
  485. IF y>0 AND y<16 THEN
  486.   IF x>0 AND x<86 THEN OBJECT.OFF:GOTO start
  487. END IF
  488. FOR i=1 TO 4
  489.  IF x>stand1%(un,i)-25 AND x<stand1%(un,i)+25 AND y>stand2%(un,i)-25 AND y<stand2%(un,i)+25 THEN
  490.     IF stand1%(un,i)<>15 AND stand2%(un,i)<>100 THEN
  491.       jj1=1
  492.     ELSE
  493.       jj1=0
  494.     END IF
  495.     spr=i
  496.     GOTO standorte2
  497.  END IF
  498. NEXT i
  499. GOTO standorte1
  500.  
  501. standorte2:
  502. IF jj1=0 THEN
  503.   text "Wähle neuen Standort !"
  504. ELSE
  505.   text "Zur Standortaufgabe auf eine freie Fläche klicken."
  506.   text "Zum Standortwechsel neue Stadt anklicken."
  507.   text "Bei Irrtum alten Standort neu wählen."
  508. END IF
  509. GOSUB maus
  510. jj2=0
  511. FOR i=1 TO 35
  512.  IF x>standx%(i)-5 AND x<standx%(i)+5 AND y>standy%(i)-5 AND y<standy%(i)+5 THEN
  513.    jj2=i
  514.    text "Gewählte Stadt : "+stand$(i)+" in "+land$(lstand%(i))
  515.    GOTO standorte3
  516.  END IF
  517. NEXT i
  518. IF jj1=0 THEN GOTO standorte2
  519. FOR i=1 TO 4
  520.  IF kfz(un,spr,i)=1 THEN
  521.    text "Verkauf des Standortes unmöglich ! LKW im Standort !!"
  522.    GOTO standorte1
  523.  END IF
  524. NEXT i
  525. RANDOMIZE TIMER
  526. zuf=INT(RND*(10)+1)
  527. IF zuf<5 THEN
  528.   text "Ein Interessent zahlt 7.000 DM für Ihr Standortgebäude !"
  529.   kap(un)=kap(un)+7000
  530. ELSE
  531.   text "Ihr Makler hat keinen Kaufinteressenten gefunden."
  532.   text "Sie erhalten kein Geld !"
  533. END IF
  534. stand1%(un,spr)=15:stand2%(un,spr)=100:rp(un)=rp(un)-stkos(ko(un,spr))
  535. stand0%(un)=stand0%(un)-1:ko(un,spr)=0
  536. OBJECT.X spr,5
  537. OBJECT.Y spr,100
  538. GOSUB standorte4:GOTO standorte1
  539.        
  540. standorte3:
  541. FOR i=1 TO 4
  542.  IF stand1%(un,i)=standx%(jj2) AND stand2%(un,i)=standy%(jj2) THEN
  543.    IF jj1=1 THEN
  544.      text "Standort bleibt erhalten !"
  545.      GOTO standorte1
  546.    END IF  
  547.    text "Doppelbelegung nicht möglich !!"
  548.    GOTO standorte2
  549.  END IF  
  550. NEXT i
  551. IF jj1=1 THEN
  552.   text "Es entstehen Umzugskosten von 5.000 DM"
  553.   kap(un)=kap(un)-5000
  554.   text "Ihr Barvermögen lt. Kontoauszug : "+STR$(kap(un))+" DM"
  555.   stand0%(un)=stand0%(un)-1:rp(un)=rp(un)-stkos(ko(un,spr))
  556.   GOTO stdo
  557. END IF  
  558. IF kap(un)-10000<kredit(un) THEN
  559.   text "Negative Bankauskunft. Standortfinanzierung unmöglich !"
  560.   text "Ihr Barvermögen lt. Kontoauszug : "+STR$(kap(un))+" DM"
  561.   GOTO standorte1
  562. END IF
  563. text "Es wird eine Standortgebühr von 10.000 DM erhoben."
  564. text "Monatliche Belastung : "+STR$(stkos(jj2))+" DM"
  565.  
  566. stdo:
  567. OBJECT.X spr,standx%(jj2)-10:OBJECT.Y spr,standy%(jj2)
  568. stand1%(un,spr)=standx%(jj2):stand2%(un,spr)=standy%(jj2)
  569. rp(un)=rp(un)+stkos(jj2):stand0%(un)=stand0%(un)+1
  570. ko(un,spr)=jj2:kap(un)=kap(un)-10000
  571. GOSUB standorte4:GOTO standorte1
  572.  
  573. standorte4:
  574.  COLOR 1,6
  575.  xs%=10
  576.  FOR i=1 TO 4:ys%=152+(i*10)
  577.   e&=Move&(WINDOW(8),xs%,ys%)
  578.   PRINT "            "
  579.   e&=Move&(WINDOW(8),xs%,ys%)
  580.   PRINT stand$(ko(un,i))
  581.  NEXT i 
  582. RETURN
  583.  
  584. yuppi:
  585. l=6:GOSUB ladebild:GOSUB frei
  586. LOCATE 7,24:COLOR 0,1
  587. PRINT "Platz 1 der Trucking-Yuppi-Hall : "
  588. COLOR 2,1:LOCATE 8,24
  589. PRINT topscore$(1);"   ";topscore(1);"  Punkte"
  590. COLOR 5,1
  591. FOR i=2 TO 8
  592.  LOCATE i+8,10:PRINT i;"."
  593.  LOCATE i+8,15:PRINT topscore$(i)
  594.  LOCATE i+8,30:PRINT topscore(i)
  595.  LOCATE i+8,40:PRINT i+7;"."
  596.  LOCATE i+8,45:PRINT topscore$(i+7)
  597.  LOCATE i+8,60:PRINT topscore(i+7)
  598. NEXT i
  599. IF topscore$(1)<>"MaWe+Amiga" THEN
  600.   text "Der Glückwunsch zum 1. Platz geht an "+topscore$(1)+" !!"
  601.   GOTO yuppi1
  602. END IF  
  603. FOR i=2 TO 15
  604.  IF topscore$(i)<>"MaWe+Amiga" THEN
  605.      text "Zur Zeit der Ranghöchste : "+topscore$(i)+" !"
  606.      GOTO yuppi1
  607.  END IF
  608. NEXT i
  609. text "Die TRUCKING-YUPPI-HALL ist leer !!"
  610.         
  611. yuppi1:
  612. IF topscore$(15)<>"MaWe+Amiga" THEN
  613.   IF topscore$(15)<>topscore$(1) THEN
  614.    text "Zeig´ was du kannst, "+topscore$(15)+" !!"
  615.   END IF
  616. END IF  
  617. GOSUB maus:GOTO start
  618.  
  619. route:
  620. IF ko(un,sta)=0 THEN
  621.   text "Eine Festlegung der Route ohne Standort ist nicht möglich !!"
  622.   FOR i=1 TO 2000:NEXT
  623.   GOSUB frei:GOTO start1
  624. END IF
  625. IF an=0 THEN
  626.   text "Für eine Fahrt ins Grüne eignet sich eine Kaffeefahrt besser."
  627.   text "Sie können ohne Auftrag keine Route festlegen !"
  628.   FOR i=1 TO 2000:NEXT i
  629.   GOSUB frei:GOTO start1
  630. END IF
  631. IF kfz(un,sta,wa(an))=0 THEN
  632.   text "Möchten Sie den Transport mit einer Schubkarre erledigen ?"
  633.   text "Erforderlicher LKW ist nicht verfügbar !"
  634.   FOR i=1 TO 2000:NEXT i
  635.   GOSUB frei:GOTO start1
  636. END IF
  637. IF fako(un,sta,wa(an))=1 THEN
  638.   text "Dieser LKW hat in dieser Runde seine Arbeit getan."
  639.   FOR i=1 TO 2000:NEXT i
  640.   GOSUB frei:GOTO start1
  641. END IF
  642. IF au=0 THEN
  643.   text "Es nutzt gar nichts, wenn Sie sich die Aufträge nur ansehen."
  644.   text "Sie müssen auch einen Solchen annehmen !!"
  645.   FOR i=1 TO 2000:NEXT i
  646.   GOSUB frei:GOTO start1
  647. END IF
  648. l=4:GOSUB ladebild:GOSUB frei
  649. GET(0,0)-(640,200),ro%
  650.  
  651. sero:  
  652. li=2:KM=0:lx=stand1%(un,sta):ly=stand2%(un,sta):zug=0
  653. fahrt$(0)=stand$(ko(un,sta)):fahrt(0)=0
  654. landfahrt(0)=lstand%(ko(un,sta))
  655. gefunden=0
  656. COLOR 1,6:settext 29,21,"       ":settext 29,21,STR$(KM)
  657. COLOR 4,7:settext 1,40,"v: "+start$(an)
  658. settext 1,48,"n: "+ziel$(an)
  659. COLOR 1,6
  660. text "Ihr Standort : "+fahrt$(0)+" in "+land$(landfahrt(0))
  661.  
  662. route1:
  663. GOSUB maus
  664. IF y>0 AND y<11 THEN
  665.    IF x>0 AND x<55 THEN GOTO start
  666.    IF x>=55 AND x<97 THEN GOTO driveon
  667. END IF   
  668. IF y>11 AND y<25 THEN
  669.    IF x>0 AND x<97 THEN
  670.       PUT (0,0),ro%,PSET
  671.       GOTO sero
  672.    END IF
  673. END IF
  674. GOSUB ermittlung   
  675. IF gefunden=0 THEN GOTO route1
  676. IF fahrt$(zug)="ZOLL" AND fahrt$(zug-1)="ZOLL" THEN
  677.  zug=zug-1
  678.  text "Die Höflichkeit gebietet es, durch mindestens eine Stadt dieses"
  679.  text "schönen Landes zu fahren !"
  680.  GOTO route1
  681. END IF
  682. IF li=2 THEN
  683.   GOSUB kilometer
  684.   settext 29,21,"       "
  685.   settext 29,21,STR$(KM)
  686.   li=1
  687. END IF  
  688. IF li=1 THEN li=2:lx=x:ly=y
  689. gefunden=0:GOTO route1
  690.  
  691. kilometer:
  692.  IF lx>x THEN
  693.    e1=lx-x
  694.  ELSE
  695.    e1=x-lx
  696.  END IF
  697.  IF ly>y THEN
  698.    e2=ly-y
  699.  ELSE
  700.    e2=y-ly
  701.  END IF
  702.  e1=INT(e1*.65)
  703.  e3=INT((e1+e2)*4.4):KM=KM+e3:fahrt(zug)=e3
  704.  LINE (lx,ly)-(x,y),1
  705.  text STR$(zug)+"# von "+fahrt$(zug-1)+" nach "+fahrt$(zug)+" ("+STR$(e3)+" km ) in "+land$(landfahrt(zug))
  706. RETURN
  707.  
  708. ermittlung:
  709. von=0
  710. IF POINT(x,y)=1 THEN st=2:GOTO ermittlung1
  711. IF x>200 THEN von=18
  712. IF x>300 THEN von=40
  713. IF x>400 THEN von=58
  714. IF x>500 THEN von=68
  715. st=1
  716. FOR i%=von TO 85
  717.  IF x>stadtx%(i%)-5 AND x<stadtx%(i%)+5 AND y>stadty%(i%)-5 AND y<stadty%(i%)+5 THEN
  718.    GOTO ermittlung1
  719.  END IF
  720. NEXT i%   
  721. st=0: gefunden=0    
  722. RETURN
  723.  
  724. ermittlung1:
  725.  zug=zug+1
  726.  IF zug=9 THEN
  727.    text "Eine Weltreise ist bei Neckermann billiger !"
  728.    text "Weitere Routenfestlegung nicht möglich !!"
  729.    GOTO route1
  730.  END IF  
  731.  gefunden=1
  732.  IF st=2 THEN
  733.   fahrt$(zug)="ZOLL":landfahrt(zug)=landfahrt(zug-1):RETURN
  734.  END IF
  735.  fahrt$(zug)=stadt$(i%)
  736.  landfahrt(zug)=lkenn%(i%)
  737. RETURN
  738.  
  739. driveon:
  740. verpro=7:wetter=4
  741. IF runde>2 THEN verpro=2:wetter=1
  742. IF runde>5 THEN verpro=3.5:wetter=2
  743. IF runde>8 THEN verpro=5:wetter=3
  744. IF runde>11 THEN verpro=7:wetter=4
  745. vers=0
  746. abzug=INT(transwert(an)/100*verpro)
  747. WINDOW 4,"Transportversicherung ??",(10,50)-(400,85),0,2
  748.  PRINT verpro;" % des Warenwertes = ";abzug;" DM"
  749.  PRINT "    j/n";:INPUT vers$
  750.  IF vers$="j" THEN
  751.   PRINT "    Die Ladung wird versichert."
  752.   vers=1:kap(un)=kap(un)-abzug:jack=jack+abzug
  753.   GOTO versi
  754.  END IF
  755.  PRINT "Sie fahren ohne Versicherung !"
  756.  vers=0
  757.  
  758. versi:
  759. FOR kk=1 TO 1000:NEXT
  760. WINDOW CLOSE 4   
  761. l=7:GOSUB ladebild:GOSUB frei
  762. s=0:z=0:sab=0
  763. tank=inh(wa(an)):diesel=0
  764. text "Ladung : "+auf$(an)+" | LKW : "+trans$(an)+" | Wert: "+STR$(transwert(an))
  765. text "Von    : "+start$(an)+"  nach : "+ziel$(an)+" | Angebot: "+STR$(angebot(an))
  766. LINE (5,80)-(160,160),0,BF
  767. LINE (8,82)-(163,162),1,BF
  768. IF unt>1 THEN
  769.  WINDOW 4,"\/\/\/\SABOTAGE/\/\/\/",(400,90)-(600,160),0,2
  770.  PRINT "Möchte einer der werten"
  771.  PRINT "Mitspieler diese Fahrt"
  772.  PRINT "Sabotieren ??  (j/n)"
  773.  INPUT sab$
  774.  IF sab$<>"j" THEN sab=0:PRINT "Keine Sabotage":GOTO sabend
  775.  
  776.  sabfrag:
  777.  CLS
  778.  FOR sab=1 TO unt:PRINT "(";sab;") ";nam$(sab):NEXT
  779.  PRINT "Wer =>";:INPUT sab1$
  780.  sab1=VAL(sab1$):IF sab1<0 OR sab1>unt THEN GOTO sabfrag
  781.  IF sab1=0 THEN sab=0:PRINT "Keine Sabotage":GOTO sabend
  782.  sab2=INT(angebot(an)/4)
  783.  PRINT "Diese Sabotage kostet"
  784.  PRINT sab2;" DM"
  785.  IF kap(sab1)-sab2<kredit(sab1) THEN
  786.    PRINT nam$(sab1)
  787.    PRINT "soviel Geld besitzt"
  788.    PRINT "du nicht !!"
  789.    PRINT "Strafe: 10.000 DM."
  790.    kap(sab1)=kap(sab1)-10000:jack=jack+3000
  791.    PRINT "Keine Sabotage":sab=0:GOTO sabend
  792.  END IF
  793.  kap(sab1)=kap(sab1)-sab2:sab=1:jack=jack+INT(sab2/2)  
  794.  PRINT "OK ";nam$(sab1)
  795.  
  796.  sabend:
  797.  WINDOW OUTPUT 2
  798. END IF
  799. IF unt=1 THEN
  800.    RANDOMIZE TIMER
  801.   sab1=INT(RND*100)
  802.   sab2=INT(RND*100)
  803.   IF sab2>sab1 THEN sab=1
  804. END IF
  805. saber=0
  806. IF sab=1 THEN
  807.   RANDOMIZE TIMER
  808.   sab3=INT(RND*100)
  809.   sab2=INT(RND*100)
  810.   IF sab3>sab2 THEN saber=1
  811. END IF     
  812. la=0:ll1=0:kt=0:wett=0
  813. LINE (10,84)-(161,160),la,B
  814. MOUSE OFF
  815. RESTORE katas0
  816. GOSUB fahrtkatas1
  817. vv=0:ll=wa(an)
  818. GOSUB Bewertung
  819. WHILE vv<zug
  820.  GOSUB fahrtkatas
  821.  IF lkweg>0 THEN
  822.   GOSUB sabko
  823.   GOTO fahrtend
  824.  END IF
  825.  RANDOMIZE TIMER
  826.  wetka=INT(RND*100)
  827.  IF wetka<wetter*10 THEN GOSUB wetter
  828.  vv=vv+1
  829.    di=INT((fahrt(vv)/100)*ver(wa(an))):diesel=diesel+di
  830.    tank=tank-di
  831.    dt:
  832.    IF tank<=0 THEN
  833.        text "* Tanken *"+STR$(diesel)+" l Diesel"
  834.        IF die(un,sta,wa(an))>=diesel THEN 
  835.           die(un,sta,wa(an))=die(un,sta,wa(an))-diesel
  836.           tank=tank+diesel:diesel=0:GOTO dt
  837.        END IF   
  838.        IF die(un,sta,wa(an))<=0 THEN
  839.           text "Ihr Fahrer besitzt nicht genug Dieselgutscheine, um die nächste"
  840.           text "Ortschaft zu erreichen. ** Abschleppkosten : 1000 DM **"
  841.           IF s=1 THEN
  842.             text "Sie erhalten keine Frachtgebühr !"
  843.           END IF
  844.           kap(un)=kap(un)-1000:jack=jack+1000
  845.           GOTO fahrtend   
  846.        END IF   
  847.    END IF    
  848.    text STR$(vv)+". Ziel : "+fahrt$(vv)+" in "+land$(landfahrt(vv))+" ("+STR$(fahrt(vv))+" km)"
  849.    IF fahrt$(vv)="ZOLL" AND s=1 THEN
  850.      abzug=INT(transwert(an)/95)
  851.      text "*** Zollgebühr :"+STR$(abzug)+" DM ***"
  852.      kap(un)=kap(un)-abzug
  853.    END IF  
  854.    IF mot>3 THEN
  855.       zuf=INT(RND*100)
  856.       IF zuf>50 THEN
  857.        abzug=mot*50:kap(un)=kap(un)-abzug
  858.        text "= Motorschaden = "+STR$(abzug)+" DM"
  859.       END IF
  860.    END IF
  861.    IF r>4 THEN
  862.       zuf=INT(RND*100)
  863.       IF zuf<50 THEN
  864.        abzug=r*30:kap(un)=kap(un)-abzug
  865.        text "> Reifenpanne < "+STR$(abzug)+" DM"
  866.       END IF
  867.    END IF
  868.    IF a9>4 THEN
  869.       zuf=INT(RND*100)
  870.       IF zuf>30 AND zuf<80 THEN
  871.         abzug=a9*40:kap(un)=kap(un)-abzug
  872.         text "< Reparaturen > "+STR$(abzug)+" DM"
  873.       END IF
  874.    END IF
  875.    IF fahrt$(vv)=start$(an) THEN
  876.     s=1
  877.     IF landfahrt(vv)=landfahrt(0) THEN in=0
  878.     IF landfahrt(vv)<>landfahrt(0) THEN in=1
  879.    END IF
  880.    IF fahrt$(vv)=ziel$(an) THEN
  881.     z=1
  882.     IF landfahrt(vv)=landfahrt(0) THEN ex=0
  883.     IF landfahrt(vv)<>landfahrt(0) THEN ex=1
  884.    END IF
  885.    IF landfahrt(vv)<>landfahrt(vv-1) AND fahrt$(vv-1)<>"ZOLL" THEN
  886.       text "Zollvergehen !  Strafe : 10.000 DM"
  887.       kap(un)=kap(un)-10000:jack=jack+10000
  888.    END IF  
  889. FOR ji=1 TO 1500:NEXT ji
  890. RANDOMIZE TIMER
  891. WEND
  892. IF s=1 AND z=1 THEN
  893.  text "Ladung wird übergeben."+STR$(angebot(an))+" DM werden Ihrem Konto zugewiesen."
  894.  kap(un)=kap(un)+angebot(an)
  895.  IF saber=1 THEN kap(un)=kap(un)-angebot(an):RESTORE katas13:GOSUB fahrtkatas1
  896.  IF unt=1 AND saber=1 THEN GOSUB frei:jack=jack+INT(angebot(an)/2)
  897.  IF unt=1 AND sab=1 AND saber=0 THEN RESTORE katas14:GOSUB fahrtkatas1
  898.  IF unt>1 AND saber=1 THEN
  899.   GOSUB frei
  900.   kap(sab1)=kap(sab1)+INT(angebot(an)/2)
  901.   WINDOW OUTPUT 4
  902.   PRINT "Der Saboteur erhält"
  903.   PRINT INT(angebot(an)/2);" DM"
  904.   WINDOW OUTPUT 2
  905.  END IF
  906.  IF unt>1 AND sab=1 AND saber=0 THEN RESTORE katas14:GOSUB fahrtkatas1
  907.  IF in=1 AND ex=1 THEN zu=5:zu$="Auslandsfracht"
  908.  IF in=1 AND ex=0 THEN zu=10:zu$="Import"
  909.  IF in=0 AND ex=1 THEN zu=15:zu$="Export"
  910.  IF in=0 AND ex=0 THEN zu=8:zu$="Inlandsfracht"
  911.  zulage=INT((transwert(an)/100)*zu)
  912.  IF in=1 AND ex=0 THEN
  913.    kap(un)=kap(un)-zulage
  914.    text "Abzug wegen Import 10% = "+STR$(zulage)+" DM."
  915.    GOTO lentz
  916.  END IF
  917.  kap(un)=kap(un)+zulage
  918.  text "Sie erhalten eine "+zu$+"-Zulage von "+STR$(zu)+"% = "+STR$(zulage)+" DM"
  919. END IF
  920.  
  921. lentz:
  922. IF s=1 AND z=0 THEN
  923.   text "Sie haben die Ladung an eine falsche Adresse geliefert."
  924.   text "SIE haften allein für"+STR$(transwert(an))+" DM"
  925.   kap(un)=kap(un)-transwert(an)
  926.   GOSUB sabko
  927. END IF
  928. IF s=0 AND z=1 THEN
  929.   text "Sie sind ohne Fracht gefahren !"
  930.   strafe=INT((transwert(an)/100)*10)
  931.   text "Strafe : 10 % des Warenwertes von"+STR$(transwert(an))+" DM ="+STR$(strafe)+" DM"
  932.   kap(un)=kap(un)-strafe:jack=jack+INT(strafe/10)
  933.   GOSUB sabko
  934. END IF
  935. IF s=0 AND z=0 THEN
  936.   text "Hoffentlich hatten Sie Spaß an der Rundreise - so ganz ohne Ladung."
  937.   strafe=INT((transwert(an)/100)*15)
  938.   text "Strafe : 15 % des Warenwertes von"+STR$(transwert(an))+" DM ="+STR$(strafe)+" DM"
  939.   kap(un)=kap(un)-strafe:jack=jack+INT(strafe/10)
  940.   GOSUB sabko
  941. END IF      
  942.  
  943. fahrtend:
  944. IF lkweg=1 OR lkweg=3 THEN
  945.  text "*** KLICK MAUS ***"
  946.  GOTO fahrtend1
  947. END IF
  948. IF lkweg=2 THEN kap(un)=kap(un)+angebot(an):fako(un,sta,wa(an))=1:GOTO fahrtend1
  949. r=INT((rueck(wa(an))/100)*ver(wa(an))*dp)
  950. text "Rückfahrtkosten für "+STR$(rueck(wa(an)))+" km = "+STR$(r)+" DM  *** KLICK MAUS ***"
  951. kap(un)=kap(un)-r
  952. KM=KM+rueck(wa(an))
  953. stre(un,sta,wa(an))=stre(un,sta,wa(an))+KM
  954. rei(un,sta,wa(an))=rei(un,sta,wa(an))+KM
  955. alter(un,sta,wa(an))=alter(un,sta,wa(an))+INT(KM/tem(wa(an)))
  956. die(un,sta,wa(an))=die(un,sta,wa(an))-diesel
  957. IF die(un,sta,wa(an))<=0 THEN die(un,sta,wa(an))=0
  958. fako(un,sta,wa(an))=1
  959.  
  960. fahrtendkontrolle:
  961. GOSUB Bewertung
  962. IF mot=5 OR a9=8 THEN
  963.   FOR i=1 TO 1000:NEXT
  964.   GOSUB weglkw
  965.   text "Ihr LKW wird mit sofortiger Wirkung ersatzlos Stillgelegt !"
  966.   text "Strafe wegen Verkehrsgefährdung: 5000 DM"
  967.   kap(un)=kap(un)-5000:jack=jack+5000
  968. END IF
  969. IF mot=4 THEN
  970.    FOR i=1 TO 1000:NEXT
  971.    text "Sie sollten alsbald Ihren LKW verkaufen !!!"
  972.    text "Verwarnung: 1000 DM"
  973.    kap(un)=kap(un)-1000:jack=jack+1000
  974. END IF
  975. IF r>5 THEN
  976.    FOR i=1 TO 1000:NEXT
  977.    text "Reifen : "+reifzu$(r)
  978.    abzug=r*250
  979.    text "Verwarnung: "+STR$(abzug)+" DM"
  980.    kap(un)=kap(un)-abzug:jack=jack+abzug
  981. END IF
  982. IF a9>5 THEN
  983.    FOR i=1 TO 1000:NEXT
  984.    text "LKW-Zustand : "+allgem$(a9)
  985.    abzug=a9*300
  986.    text "Verwarnung: "+STR$(abzug)+" DM"
  987.    kap(un)=kap(un)-abzug:jack=jack+abzug
  988. END IF
  989.  
  990. fahrtend1:
  991. fako(un,sta,wa(an))=1
  992. MOUSE ON
  993. GOSUB maus:text "OK"
  994. IF unt>1 THEN WINDOW CLOSE 4
  995. au=0:an=0:fa=fa+1:kt=0:wett=0:GOTO starta
  996.  
  997. sabko:
  998. IF saber=1 THEN RESTORE katas15:GOSUB fahrtkatas1
  999. RETURN
  1000.  
  1001. losa:
  1002. l=9:GOSUB ladebild:GOSUB frei
  1003. GET (40,31)-(585,166),ro%
  1004. DIM game$(50)
  1005.  
  1006. losa1:
  1007. y1=5:x1=20:gamezahl=0:lo=1:lau=0
  1008. GOSUB maus
  1009.   IF x>81 AND x<198 AND y>75 AND y<120 THEN
  1010.      LINE (40,31)-(585,166),3,BF
  1011.      text "Spiel laden"
  1012.      losa$="L"
  1013.      GOSUB gamlo
  1014.      IF lo=0 AND unt=0 THEN
  1015.       l=1:GOSUB ladebild
  1016.       GOTO abfr
  1017.      END IF
  1018.      IF gam$="" THEN GOTO losaend
  1019.      OPEN "I",#1,"trucking.games/"+gam$
  1020.       INPUT#1,jack
  1021.       INPUT#1,unt
  1022.       INPUT#1,un
  1023.       INPUT#1,runde
  1024.       INPUT#1,yupp
  1025.       INPUT#1,fa
  1026.       INPUT#1,au
  1027.       INPUT#1,an
  1028.       INPUT#1,jahr
  1029.       FOR i=1 TO unt
  1030.        LINE INPUT#1,nam$(i)
  1031.        LINE INPUT#1,firma$(i)
  1032.        INPUT#1,rp(i)
  1033.        INPUT#1,besitz(i)
  1034.        INPUT#1,kredit(i)
  1035.        INPUT#1,kap(i)
  1036.        INPUT#1,stand0%(i)
  1037.        INPUT#1,stern(i)
  1038.        FOR j=1 TO 4
  1039.         INPUT#1,ko(i,j)
  1040.         INPUT#1,stand1%(i,j)
  1041.         INPUT#1,stand2%(i,j)
  1042.         FOR k=1 TO 4
  1043.          INPUT#1,fako(i,j,k)
  1044.          INPUT#1,kfz(i,j,k)
  1045.          INPUT#1,die(i,j,k)
  1046.          INPUT#1,stre(i,j,k)
  1047.          INPUT#1,alter(i,j,k)
  1048.          INPUT#1,rei(i,j,k)
  1049.         NEXT k
  1050.        NEXT j                         
  1051.       NEXT i
  1052.      CLOSE 1
  1053.      ERASE game$
  1054.      GOSUB poi
  1055.      IF au>0 THEN lau=1
  1056.      sta=1     
  1057.      GOTO start
  1058.    END IF
  1059.    IF x>248 AND x<358 AND y>75 AND y<120 THEN
  1060.      LINE (40,31)-(585,166),3,BF
  1061.      text "Spiel speichern"
  1062.      losa$="S"
  1063.      GOSUB gamlo
  1064.      IF gam$="" THEN GOTO losaend
  1065.      IF gefunden=0 THEN
  1066.        OPEN "O",#1,"trucking.games/games"
  1067.        FOR kk=1 TO lo
  1068.         PRINT#1,game$(kk)
  1069.        NEXT kk
  1070.        CLOSE 1 
  1071.      END IF
  1072.      OPEN "O",#1,"trucking.games/"+gam$
  1073.       PRINT#1,jack
  1074.       PRINT#1,unt
  1075.       PRINT#1,un
  1076.       PRINT#1,runde
  1077.       PRINT#1,yupp
  1078.       PRINT#1,fa
  1079.       PRINT#1,au
  1080.       PRINT#1,an
  1081.       PRINT#1,jahr
  1082.       FOR i=1 TO unt
  1083.        PRINT#1,nam$(i)
  1084.        PRINT#1,firma$(i)
  1085.        PRINT#1,rp(i)
  1086.        PRINT#1,besitz(i)
  1087.        PRINT#1,kredit(i)
  1088.        PRINT#1,kap(i)
  1089.        PRINT#1,stand0%(i)
  1090.        PRINT#1,stern(i)
  1091.        FOR j=1 TO 4
  1092.         PRINT#1,ko(i,j)
  1093.         PRINT#1,stand1%(i,j)
  1094.         PRINT#1,stand2%(i,j)
  1095.         FOR k=1 TO 4
  1096.          PRINT#1,fako(i,j,k)
  1097.          PRINT#1,kfz(i,j,k)
  1098.          PRINT#1,die(i,j,k)
  1099.          PRINT#1,stre(i,j,k)
  1100.          PRINT#1,alter(i,j,k)
  1101.          PRINT#1,rei(i,j,k)
  1102.         NEXT k
  1103.        NEXT j
  1104.       NEXT i
  1105.      CLOSE 1
  1106.      ERASE game$
  1107.      GOTO start
  1108.    END IF
  1109.    IF x>428 AND x<538 AND y>75 AND y<120 THEN
  1110.      ERASE game$
  1111.      GOTO start
  1112.    END IF
  1113. text "Macht klicken spaß ?"
  1114. GOTO losa1
  1115.  
  1116. losaend:
  1117. PUT(40,31),ro%,PSET
  1118. GOSUB maus
  1119. CLOSE 1
  1120. GOTO losa1   
  1121.  
  1122. gamlo:
  1123.  lo=0:gam$=""
  1124.  OPEN "I",#1,"trucking.games/games"
  1125.  COLOR 0,3
  1126.  WHILE NOT EOF(1)
  1127.   lo=lo+1
  1128.   LINE INPUT#1,game$(lo)
  1129.  WEND
  1130.  CLOSE 1
  1131.  IF game$(1)="empty" THEN lo=0
  1132.  IF lo=0 AND unt=0 THEN GOTO gamzei3
  1133.  IF lo=0 THEN
  1134.   LOCATE 5,10:PRINT "Kein Spiel auf Disk"
  1135.   GOTO gamzei1 
  1136.  END IF
  1137.  LOCATE 5,10:PRINT lo;
  1138.  IF lo=1 THEN PRINT " Spiel";
  1139.  IF lo>1 THEN PRINT " Spiele";
  1140.  PRINT " auf Disk"
  1141.  lo1=1:FOR kk=1 TO 500:NEXT
  1142.  
  1143. gamzei:
  1144.  IF lo=0 THEN GOTO gamzei1
  1145.  IF lo1<lo THEN lo1=1
  1146.  IF lo1>lo THEN lo1=lo-4:GOTO gamzei
  1147.  LINE (40,31)-(585,166),3,BF
  1148.  y1=5:x1=15
  1149.  lo2=lo1+9
  1150.  IF lo2>lo THEN lo2=lo
  1151.  FOR kk=lo1 TO lo2
  1152.    LOCATE y1,x1:PRINT game$(kk)
  1153.    y1=y1+1
  1154.  NEXT kk
  1155.  
  1156. gamzei1: 
  1157.  LINE (50,140)-(250,155),0,BF
  1158.  LOCATE 18,60:PRINT "/\    up"
  1159.  LOCATE 19,60:PRINT "||  zurück"
  1160.  LOCATE 20,60:PRINT "\/   down"
  1161.  
  1162. gamzei2: 
  1163.  GOSUB maus
  1164.  IF x>471 AND x<488 AND y>136 AND y<143 THEN lo1=lo1-10:GOTO gamzei
  1165.  IF x>471 AND x<488 AND y>143 AND y<151 THEN PUT(40,31),ro%,PSET:GOTO gamzei3
  1166.  IF x>471 AND x<488 AND y>151 AND y<159 THEN lo1=lo1+10:GOTO gamzei
  1167.  IF x>50 AND x<250 AND y>140 AND y<155 THEN
  1168.     IF losa$="L" AND lo=0 THEN
  1169.       text "Kein Spiel auf Disk !"
  1170.       gam$=""
  1171.       GOTO gamzei3
  1172.     END IF
  1173.     IF losa$="L" THEN wi$="load"
  1174.     IF losa$="S" THEN wi$="save"
  1175.     
  1176.     gamzeix:
  1177.     WINDOW 4,"Trucking-Game to "+wi$,(50,140)-(350,155),0,2
  1178.     COLOR 1,0
  1179.     INPUT gam$
  1180.     WINDOW CLOSE 4
  1181.     COLOR 0,3
  1182.     gefunden=0
  1183.     IF lo=0 AND losa$="S" THEN lo=1:game$(1)=gam$:GOTO gamzei3
  1184.     FOR kk=1 TO lo
  1185.       IF gam$=game$(kk) THEN gefunden=1
  1186.     NEXT kk
  1187.     IF losa$="L" AND gefunden=0 THEN
  1188.       text "Dieses Spiel existiert nicht !"
  1189.       gam$=""
  1190.       GOTO gamzei3
  1191.     END IF
  1192.     IF losa$="L" AND gefunden=1 THEN
  1193.        text gam$+" wird geladen."
  1194.        GOTO gamzei3
  1195.     END IF
  1196.     IF losa$="S" AND gefunden=0 THEN      
  1197.       lo=lo+1
  1198.       IF lo>50 THEN
  1199.         BEEP
  1200.         text "Keine weiteren Einträge möglich."
  1201.         text "Wähle ein bereits existierendes Spiel."
  1202.         lo=lo-1:gam$=""
  1203.         GOTO gamzeix
  1204.       END IF  
  1205.       game$(lo)=gam$
  1206.       text gam$+" wird gespeichert."
  1207.       GOTO gamzei3
  1208.     END IF
  1209.     IF losa$="S" AND gefunden=1 THEN
  1210.      text gam$+" wird gespeichert."
  1211.      GOTO gamzei3
  1212.     END IF
  1213.   END IF   
  1214. GOTO gamzei2
  1215.  
  1216. gamzei3:
  1217. PUT(40,31),ro%,PSET
  1218. RETURN 
  1219.  
  1220. ladebild:
  1221.  f$="trucking.set/"+bild$(l)+CHR$(0)
  1222.  fHandle&=xOpen&(SADD(f$),1005)
  1223.  IF fHandle&=0 THEN
  1224.     fehler$="Bild fehlt !"
  1225.     GOTO fehler
  1226.  END IF
  1227.  fBMHD=0
  1228.  fCMAP=0
  1229.  fCAMG=0
  1230.  fCCRT=0
  1231.  fABIT=0
  1232.  ClearPublic&=65537&
  1233.  mybufsize&=360
  1234.  mybuf&=AllocMem&(mybufsize&,ClearPublic&)
  1235.  inbuf&=mybuf&
  1236.  cbuf&=mybuf&+120
  1237.  ctab&=mybuf&+240
  1238.  rLen&=xRead&(fHandle&,inbuf&,12)
  1239.  ladebilda:
  1240.   rLen&=xRead&(fHandle&,inbuf&,8)
  1241.   icLen&=PEEKL(inbuf&+4)
  1242.   tt$=""
  1243.   FOR kk=0 TO 3
  1244.     tt%=PEEK(inbuf&+kk)
  1245.     tt$=tt$+CHR$(tt%)
  1246.   NEXT kk
  1247.   IF tt$="BMHD" THEN
  1248.     fBMHD=1
  1249.     rLen&=xRead&(fHandle&,inbuf&,icLen&)
  1250.     GOSUB GetScrAddrs
  1251.     CALL LoadRGB4&(sViewPort&,ctab&,8)
  1252.   ELSEIF tt$="CMAP" THEN
  1253.     fCMAP=1
  1254.     rLen&=xRead&(fHandle&,cbuf&,icLen&)
  1255.     FOR kk=0 TO 7
  1256.       red%=PEEK(cbuf&+(kk*3))
  1257.       gre%=PEEK(cbuf&+(kk*3)+1)
  1258.       blu%=PEEK(cbuf&+(kk*3)+2)
  1259.       regTemp%=(red%*16)+(gre%)+(blu%/16)
  1260.       POKEW(ctab&+(2*kk)),regTemp%
  1261.     NEXT kk
  1262.   ELSEIF tt$="CAMG" THEN
  1263.     fCAMG=1
  1264.     rLen&=xRead&(fHandle&,inbuf&,icLen&)          
  1265.     camgModes&=PEEKL(inbuf&)
  1266.   ELSEIF tt$="ABIT" THEN
  1267.     fABIT=1
  1268.     plSize&=(640/8)*200
  1269.     FOR pp=0 TO 2
  1270.       rLen&=xRead&(fHandle&,bPlane&(pp),plSize&)
  1271.     NEXT pp
  1272.   ELSE
  1273.     FOR kk=1 TO icLen&
  1274.       rLen&=xRead&(fHandle&,inbuf&,1)
  1275.     NEXT kk
  1276.     IF (icLen& OR 1)=icLen& THEN
  1277.       rLen&=xRead&(fHandle&,inbuf&,1)
  1278.     END IF      
  1279.   END IF
  1280.   IF fBMHD AND fCMAP AND fABIT =1 THEN
  1281.     GOTO geladen
  1282.   END IF
  1283.   GOTO ladebilda
  1284.   geladen:
  1285.   CALL LoadRGB4&(sViewPort&,ctab&,nColors%)
  1286.   CALL xClose&(fHandle&)
  1287. RETURN 
  1288. GetScrAddrs:
  1289.  sWindow&=WINDOW(7)
  1290.  sScreen&=PEEKL(sWindow&+46)
  1291.  sViewPort&=sScreen&+44
  1292.  sRastPort&=sScreen&+84
  1293.  sColorMap&=PEEKL(sViewPort&+4)
  1294.  colorTab&=PEEKL(sColorMap&+4)
  1295.  sBitMap&=PEEKL(sRastPort&+4)
  1296.  scrWidth%=PEEKW(sScreen&+12)
  1297.  scrHeight%=PEEKW(sScreen&+14)
  1298.  scrDepth%=PEEK(sBitMap&+5)
  1299.  nColors%=2^scrDepth%
  1300.  FOR kk=0 TO scrDepth%-1
  1301.    bPlane&(kk)=PEEKL(sBitMap&+8+(kk*4))
  1302.  NEXT kk
  1303. RETURN   
  1304.  
  1305. bildname:
  1306.  DATA titel,handel,command,route,standorte,yuppi,fahrt,bye,ls
  1307. lkwpreise:
  1308.  DATA Midi-Truck,36500,Street-Master,85000,Big-Mac,196734,Uni-Trans,235500
  1309.  DATA 65,12,230,120,541,150,22,810,120,681,250,65,3850,130,384,250,78,4400,110,320
  1310.  DATA "sehr gut","gut","befriedigend","ausreichend","mangelhaft","riskant"
  1311.  DATA "baldige Stillegung erforderlich","TÜV-Schock"
  1312.  DATA "sehr gut","gut","befriedigend","ausreichend","angenagtes Profil"
  1313.  DATA "kaum Profil","glatt wie ein Aal","schrecklich"
  1314. standko:
  1315.  DATA 1,320,3,280,10,300,15,400,20,600,21,600,24,350,26,350
  1316.  DATA 27,350,30,400,36,450,37,400,41,400,44,600,47,600,49,390,55,200
  1317.  DATA 58,250,59,300,61,150
  1318.  DATA 63,300,66,200,67,50,68,100,70,250,72,100
  1319.  DATA 73,250,75,150,76,150,77,250,79,100,80,100,82,150,83,100,85,250
  1320. land:
  1321.  DATA Frankreich,Belgien,Luxemburg,Niederlande,BRD,Schweiz
  1322.  DATA Österreich,DDR,Ungarn,Tschechoslowakei,Polen 
  1323. monat:
  1324.  DATA "Januar","Februar","März","April","Mai","Juni","Juli"
  1325.  DATA "August","September","Oktober","November","Dezember"
  1326.   
  1327. maus:
  1328.  WHILE MOUSE(0)<=0
  1329.  WEND
  1330.   x=MOUSE(3):y=MOUSE(4)
  1331. RETURN
  1332.  
  1333. SUB text (text$) STATIC
  1334.  WINDOW OUTPUT 3
  1335.  COLOR 1,0
  1336.  PRINT text$
  1337.  WINDOW OUTPUT 2
  1338. END SUB
  1339.  
  1340. frei:
  1341.  WINDOW OUTPUT 3:CLS:WINDOW OUTPUT 2:RETURN 
  1342.  
  1343. SUB settext (xxx%,yyy%,ttt$) STATIC
  1344.  e&=Move&(WINDOW(8),xxx%,yyy%)
  1345.  PRINT ttt$
  1346. END SUB
  1347.   
  1348. dipr:
  1349.  RANDOMIZE TIMER
  1350.  dp=(INT(RND*(120)+55))/100
  1351. RETURN
  1352.  
  1353. alt:
  1354. FOR y%=1 TO 4
  1355.   FOR i%=1 TO 4
  1356.     IF kfz(un,y%,i%)=1 THEN
  1357.       alter(un,y%,i%)=alter(un,y%,i%)+8
  1358.       fako(un,y%,i%)=0
  1359.     END IF
  1360.   NEXT i%
  1361. NEXT y%
  1362. RETURN
  1363.  
  1364. Bewertung:
  1365. be=rei(un,sta,ll)
  1366. IF be<5000 THEN r=1
  1367. IF be>5000 THEN r=2
  1368. IF be>8000 THEN r=3
  1369. IF be>10500 THEN r=4
  1370. IF be>13000 THEN r=5
  1371. IF be>15500 THEN r=6
  1372. IF be>17000 THEN r=7
  1373. IF be>19999 THEN r=8
  1374. be=alter(un,sta,ll)
  1375. IF be<100 THEN a9=1
  1376. IF be>100 THEN a9=2
  1377. IF be>250 THEN a9=3
  1378. IF be>550 THEN a9=4
  1379. IF be>700 THEN a9=5
  1380. IF be>850 THEN a9=6
  1381. IF be>1000 THEN a9=7
  1382. IF be>1500 THEN a9=8
  1383. be=stre(un,sta,ll)
  1384. mot=0
  1385. IF be>2500 THEN mot=1
  1386. IF be>12500 THEN mot=2
  1387. IF be>20000 THEN mot=3
  1388. IF be>37500& THEN mot=4
  1389. IF be>50000& THEN mot=5
  1390. RETURN
  1391.       
  1392. box:
  1393.  LINE (505,b1%)-(615,b2%),6,B
  1394.  b1%=sta*9:b2%=b1%+10
  1395.  LINE (505,b1%)-(615,b2%),5,B
  1396. RETURN
  1397.  
  1398. box1:
  1399. LINE (353,b3%)-(615,b4%),6,B
  1400. b3%=29+(32*an):b4%=55+(32*an)
  1401. LINE (353,b3%)-(615,b4%),0,B
  1402. GOTO start1
  1403.  
  1404. auftrag:
  1405.  MOUSE OFF
  1406.  RANDOMIZE TIMER
  1407.  FOR i%=1 TO 4
  1408.   u=INT(RND*41)
  1409.   auf$(i%)=waren$(u)
  1410.   e=tr(u)
  1411.   IF e<5 THEN trans$(i%)=lkw$(e):transwert(i%)=pr(u):wa(i%)=e:GOTO auf
  1412.   IF e=5 THEN zu=INT(RND*3+1)
  1413.   IF e=6 THEN zu=INT(RND*4+1)
  1414.   IF e=7 THEN zu=INT(RND*3+2)
  1415.   IF e=8 THEN zu=INT(RND*2+2)
  1416.   wa(i%)=zu:trans$(i%)=lkw$(zu)
  1417.   IF e>4 THEN
  1418.     IF zu=1 THEN transwert(i%)=pr(u)*2.5
  1419.     IF zu=2 THEN transwert(i%)=pr(u)*7.5
  1420.     IF zu=3 THEN transwert(i%)=pr(u)*25
  1421.     IF zu=4 THEN transwert(i%)=pr(u)*40
  1422.   END IF
  1423.   auf:
  1424.   angebot(i%)=(INT(transwert(i%)/100)*50)+INT((RND*5000)+1)
  1425.  NEXT i%
  1426.  FOR i%=1 TO 4
  1427.   u=INT((RND*85))
  1428.   u1=u
  1429.   start$(i%)=stadt$(u)
  1430.   lx=stadtx%(u):ly=stadty%(u)
  1431.  
  1432.   auftrag1:
  1433.   u=INT((RND*85))            
  1434.   ziel$(i%)=stadt$(u)
  1435.   IF ziel$(i%)=start$(i%) THEN GOTO auftrag1
  1436.   x=stadtx%(u):y=stadty%(u)
  1437.    IF lx>x THEN
  1438.     e1=lx-x
  1439.    ELSE
  1440.     e1=x-lx
  1441.    END IF
  1442.    IF ly>y THEN
  1443.     e2=ly-y
  1444.    ELSE
  1445.     e2=y-ly
  1446.    END IF
  1447.    e1=INT(e1*.65) 
  1448.    rueck(i%)=INT((e1+e2)*4.4)
  1449.  NEXT i%
  1450.  
  1451.  auftrag2:
  1452.   IF lau=1 THEN lau=0:GOTO auftrag
  1453.   LINE (353,60)-(615,185),6,BF 
  1454.   COLOR 1,6
  1455.   settext 360,69,auf$(1)+" für "+trans$(1)
  1456.   settext 360,77,"von "+start$(1)+" nach "+ziel$(1)
  1457.   settext 360,85,"W :"+STR$(transwert(1))+" A :"+STR$(angebot(1))
  1458.   settext 360,93,"----------------------------"
  1459.   settext 360,101,auf$(2)+" für "+trans$(2)
  1460.   settext 360,109,"von "+start$(2)+" nach "+ziel$(2)
  1461.   settext 360,117,"W :"+STR$(transwert(2))+" A :"+STR$(angebot(2))
  1462.   settext 360,125,"---------------------------"
  1463.   settext 360,133,auf$(3)+" für "+trans$(3)
  1464.   settext 360,141,"von "+start$(3)+" nach "+ziel$(3)
  1465.   settext 360,149,"W :"+STR$(transwert(3))+" A :"+STR$(angebot(3))
  1466.   settext 360,157,"---------------------------"
  1467.   settext 360,165,auf$(4)+" für "+trans$(4)
  1468.   settext 360,173,"von "+start$(4)+" nach "+ziel$(4)
  1469.   settext 360,181,"W :"+STR$(transwert(4))+" A :"+STR$(angebot(4))  
  1470.   text "Wähle Auftrag"
  1471.   b3%=29+(32*an)
  1472.   b4%=55+(32*an)
  1473.   IF an=0 THEN b3%=61:b4%=87
  1474.   IF an>0 THEN
  1475.    LINE (353,b3%)-(615,b4%),0,B
  1476.   END IF 
  1477.  MOUSE ON
  1478.  RETURN            
  1479.               
  1480. ende:
  1481.  GOSUB frei
  1482.  text "Klick < QUIT > zum Spielende"
  1483.  text "Klick < WEITER > zum Weiterspielen"
  1484.  text "Klick < AUFTRÄGE > zum Neubeginn"
  1485.  
  1486. ende1:
  1487.  GOSUB maus
  1488.  IF x>265 AND x<314 AND y>93 AND y<114 THEN
  1489.    text "OK - Bis zum nächsten Mal !"
  1490.    LIBRARY CLOSE
  1491.    FOR i=1 TO 5000:NEXT
  1492.    SYSTEM
  1493.  END IF
  1494.  IF x>147 AND x<197 AND y>93 AND y<114 THEN
  1495.     text "Auf zum Neubeginn !"
  1496.     neuspiel=1
  1497.     GOTO neuspiel
  1498.  END IF
  1499.  IF x>24 AND x<74 AND y>68 AND y<89 THEN
  1500.     text "Weiter geht´s !"
  1501.     GOTO start1
  1502.  END IF      
  1503. GOTO ende1
  1504.  
  1505. katas0:
  1506. DATA "#################"
  1507. DATA "#               #"
  1508. DATA "#               #"
  1509. DATA "#  Auf geht´s   #"
  1510. DATA "#               #"
  1511. DATA "#               #"
  1512. DATA "#               #"
  1513. DATA "#################"   
  1514.  
  1515. katas1:
  1516. DATA "Ihr Fahrer fuhr  "
  1517. DATA "volltrunken gegen"
  1518. DATA "einen Baum. Dabei"
  1519. DATA "ging die Ladung  " 
  1520. DATA "über Bord.       "
  1521. DATA "SIE haften für   "
  1522. DATA "die Ladung !     "
  1523. DATA "-----------------"
  1524.  
  1525. katas2:
  1526. DATA "Ihr Fahrer sah am"
  1527. DATA "Straßenrand eine "
  1528. DATA "schöne Anhalterin"
  1529. DATA "stehen. Mit ihr  "
  1530. DATA "fuhr er in sein  "
  1531. DATA "Glück. IHR Pech :"
  1532. DATA "LKW    futsch    "
  1533. DATA "Ladung futsch    " 
  1534.  
  1535. katas3:
  1536. DATA "Ihr Fahrer hat   "
  1537. DATA "100.000 DM auf   "
  1538. DATA "der Straße ge-   "
  1539. DATA "funden. Daraufhin"
  1540. DATA "verschwand er und"
  1541. DATA "ließ LKW samt La-"
  1542. DATA "dung stehen. Er- "
  1543. DATA "satzmann: 1000 DM"
  1544.  
  1545. katas4:
  1546. DATA "Unverschuldet    "
  1547. DATA "wurde Ihr LKW in "
  1548. DATA "einen Unfall ver-"
  1549. DATA "wickelt.         "
  1550. DATA "Totalschaden !!  "
  1551. DATA "Die Versicherung "
  1552. DATA "zahlt neuen LKW  "
  1553. DATA "und Frachtrate !!"
  1554.  
  1555. katas5:
  1556. DATA "An einem Truck - "
  1557. DATA "Stop wurde Ihr   "
  1558. DATA "Fahrer in ein Ge-"
  1559. DATA "spräch verwickelt"
  1560. DATA "Die Ladung wurde "
  1561. DATA "gestohlen, für   "
  1562. DATA "die SIE jetzt    "
  1563. DATA "haften !!!       "
  1564.  
  1565. katas6:
  1566. DATA "In einem Akt     "
  1567. DATA "übergroßer Nächs-"
  1568. DATA "tenliebe verkauft"
  1569. DATA "Ihr Fahrer die   "
  1570. DATA "Ladung für den   "
  1571. DATA "halben Preis. SIE"
  1572. DATA "haften für den   "
  1573. DATA "Warenwert !!     "
  1574.  
  1575. katas7:
  1576. DATA "Ihr Fahrer spielt"
  1577. DATA "Monopoli mit ge- "
  1578. DATA "fälschtem Spiel- "
  1579. DATA "geld. Dafüt geht "
  1580. DATA "er 14 Tage ins   "
  1581. DATA "Gefängnis. Ihr   "
  1582. DATA "LKW altert der-  "
  1583. DATA "weil vor sich hin"
  1584.  
  1585. katas8:
  1586. DATA "Sehr holprige    "
  1587. DATA "Strecke. Ihrem   "
  1588. DATA "Fahrer wird lau- "
  1589. DATA "fend schlecht und"
  1590. DATA "den Reifen Ihres "
  1591. DATA "LKW´s bekommt der"
  1592. DATA "Weg auch nicht !!"
  1593. DATA "-----------------"
  1594.  
  1595. katas9:
  1596. DATA "-----------------"
  1597. DATA "LACKSCHADEN !!   "
  1598. DATA "Ihr LKW muß neu  "
  1599. DATA "lackiert werden. "
  1600. DATA "Er trocknet drei "
  1601. DATA "lange Tage vor   "
  1602. DATA "sich hin .       "
  1603. DATA "-----------------"
  1604.  
  1605. katas10:
  1606. DATA "GRATULATION !!   "
  1607. DATA "Ihr Fahrer war   "
  1608. DATA "der schnellste   "
  1609. DATA "auf der Autobahn!"
  1610. DATA "Die Radaranlage  "
  1611. DATA "wurde zerstört.  "
  1612. DATA "Sie zahlen Strafe"
  1613. DATA "-> DM: "
  1614.  
  1615. katas11:
  1616. DATA "Ihr Fahrer fand  "
  1617. DATA "in einem Papier- "
  1618. DATA "korb 50.000 DM !!"
  1619. DATA "Das Geld teilt er"
  1620. DATA "mit Ihnen, weil  "
  1621. DATA "Sie ihm schon Mo-"
  1622. DATA "natelang mehr    "
  1623. DATA "Geld versprachen "
  1624.  
  1625. katas12:
  1626. DATA "Lieber Spediteur!"
  1627. DATA "Die Autobahn ist "
  1628. DATA "kein Tanzparkett!"
  1629. DATA "Sagen Sie das    "
  1630. DATA "Ihrem Fahrer und "
  1631. DATA "überweisen die   "
  1632. DATA "Strafe !!        "
  1633. DATA "-> 436 DM        "
  1634.  
  1635. katas13:
  1636. DATA "    SABOTAGE     "
  1637. DATA "Durch geschickte "
  1638. DATA "manipulation der "
  1639. DATA "EDV-Anlage Ihrer "
  1640. DATA "Bank erhalten Sie"
  1641. DATA "NICHTS ! Der     "
  1642. DATA "Saboteur erhält  "
  1643. DATA "1/2 Frachtrate   "
  1644.  
  1645. katas14:
  1646. DATA "+++++++++++++++++"
  1647. DATA "An den Saboteur. "
  1648. DATA "Sabotage nicht   "
  1649. DATA "geglückt - STOP -"
  1650. DATA "Zahlen müssen Sie"
  1651. DATA "trotzdem - STOP -"
  1652. DATA "Vielen Dank.     "
  1653. DATA "+++++++++++++++++"
  1654.  
  1655. katas15:
  1656. DATA "+++++++++++++++++"
  1657. DATA" Sabotage wurde   "
  1658. DATA "nicht durchge-   "
  1659. DATA "führt - STOP -   "
  1660. DATA "Geld wird einbe- "
  1661. DATA "halten - STOP -  "
  1662. DATA "Dankeschön.      "
  1663. DATA "+++++++++++++++++" 
  1664.  
  1665. nichtver:
  1666. DATA "-----------------"
  1667. DATA "- Ihre Ladung   -"
  1668. DATA "- ist leider    -"
  1669. DATA "- nicht gegen   -"
  1670. DATA "- Schäden aller -"
  1671. DATA "-     Art       -"
  1672. DATA "-  Versichert   -"
  1673. DATA "-----------------"
  1674.  
  1675. dochver:
  1676. DATA "*****************"
  1677. DATA "*               *"
  1678. DATA "* Ihre Ladung   *"
  1679. DATA "* ist gegen     *"
  1680. DATA "*  Schäden      *"
  1681. DATA "* Versichert !! *"
  1682. DATA "*               *"
  1683. DATA "*****************"
  1684.  
  1685. winterkatas:
  1686. DATA "................."
  1687. DATA ". Glatteis und  ."
  1688. DATA ". Schnee !!!!   ."
  1689. DATA ". Ihr Fahrer muß."
  1690. DATA ". Schneeketten  ."
  1691. DATA ". kaufen.       ."
  1692. DATA ". Preis: 1500 DM."
  1693. DATA "................."
  1694.  
  1695. winterkatas1:
  1696. DATA ". Auf einer     ."
  1697. DATA ". Eisbedeckten  ."
  1698. DATA ". Straße gerät  ."
  1699. DATA ". Ihr LKW ins   ."
  1700. DATA ". schleudern !! ."
  1701. DATA ". Kosten der    ."
  1702. DATA ". Reparatur :   ."
  1703. DATA ". "
  1704.  
  1705. sommerkatas:
  1706. DATA " /\/\/\/\/\/\/\/\"
  1707. DATA "/ Es ist sehr   /"
  1708. DATA "\ heiß auf der  \"
  1709. DATA "/ Autobahn !!!  /"
  1710. DATA "\ Ihr Fahrer    \"
  1711. DATA "/ trinkt viel ! /"
  1712. DATA "\ Kosten: 500 DM\"
  1713. DATA " \/\/\/\/\/\/\/\/"
  1714.  
  1715. herbstkatas:
  1716. DATA "<><><><><><><><><"
  1717. DATA "< Die Blätter   <"
  1718. DATA "< fallen, Ihr   <"
  1719. DATA "< Fahrer ist    <"
  1720. DATA "< sehr müde. Er <"
  1721. DATA "< schläft einen <"
  1722. DATA "< ganzen Tag !  <"
  1723. DATA "<><><><><><><><><"
  1724.  
  1725. fruhkatas:
  1726. DATA "[][][][][][][][]["
  1727. DATA "] Der Frühling   "
  1728. DATA "] ist da und Ihr "
  1729. DATA "] Fahrer ist gut "
  1730. DATA "] gelaunt. Er    "
  1731. DATA "] verschenkt     "
  1732. DATA "] seine Diesel-  "
  1733. DATA "] gutscheine !!  "
  1734.  
  1735. unver:
  1736. text "Heute Ruhetag !"
  1737. text "Diese Auskunft ist Kostenpflichtig."
  1738. text "Es werden Ihnen 50 DM in Rechnung gestellt !"
  1739. kap(un)=kap(un)-50:jack=jack+50
  1740. zuf1=1:COLOR 3,3
  1741. settext 101,127,"            "
  1742. COLOR 1,3:settext 101,127,STR$(kap(un))
  1743. FOR i=1 TO 3000:NEXT i:GOSUB frei
  1744. GOTO start1
  1745.  
  1746. noauftrag:
  1747. COLOR 0,6
  1748. settext 375,15,"------------"
  1749. settext 375,23,"-   Keine  -"
  1750. settext 375,31,"- weiteren -"
  1751. settext 375,39,"- Aufträge -"
  1752. settext 375,47,"------------"
  1753. text "Wähle > WEITER <, oder nimm einen Auftrag an !"
  1754. GOTO start1
  1755.  
  1756. truckinghigh:
  1757. OPEN "I",#1,"trucking.high/scores"
  1758. FOR i%=1 TO 15
  1759.  LINE INPUT#1,topscore$(i%)
  1760.  INPUT#1,topscore(i%)
  1761. NEXT i%:CLOSE 1
  1762. RETURN
  1763.  
  1764. highcontrol:
  1765. text "Topscore-Ermittlung nach 12 Runden"
  1766. check=un
  1767. FOR un=1 TO unt
  1768.  GOSUB poi
  1769. NEXT un
  1770. un=check 
  1771. FOR u=1 TO unt
  1772.  FOR ih=1 TO 15
  1773.   IF poi(u)>topscore(ih) THEN
  1774.     FOR uu=15 TO ih STEP-1
  1775.       topscore(uu)=topscore(uu-1)
  1776.       topscore$(uu)=topscore$(uu-1)
  1777.     NEXT uu
  1778.     topscore(ih)=poi(u)
  1779.     topscore$(ih)=nam$(u)
  1780.     GOTO highcontrol1
  1781.   END IF
  1782.  NEXT ih
  1783.  
  1784. highcontrol1:  
  1785. NEXT u
  1786. OPEN "O",#1,"trucking.high/scores"
  1787. FOR i%=1 TO 15
  1788.  PRINT#1,topscore$(i%)
  1789.  PRINT#1,topscore(i%)
  1790. NEXT i%:CLOSE 1
  1791. RETURN
  1792.  
  1793. poi:
  1794. poi(un)=0
  1795. poi(un)=stern(un)*1500
  1796. IF kap(un)>0 THEN
  1797.   poi(un)=poi(un)+INT(kap(un)/100)
  1798. END IF
  1799. IF stand(un)>0 THEN
  1800.   poi(un)=poi(un)+stand(un)*2000
  1801. END IF
  1802. RETURN
  1803.  
  1804. lkwcheck:
  1805. GOSUB Bewertung
  1806. LINE (353,60)-(615,185),6,BF
  1807.   COLOR 1,6
  1808.   settext 360,69,"Info LKW   : "+lkw$(ll)
  1809.   settext 360,77,"Tankinhalt : "+STR$(inh(ll))
  1810.   settext 360,85,"Verbrauch  : "+STR$(ver(ll))
  1811.   settext 360,93,"Abgaben DM : "+STR$(ab(ll))
  1812.   settext 360,101,"KM/h       : "+STR$(tem(ll))
  1813.   settext 360,109,"Radius  KM : "+STR$(ra(ll))
  1814.   settext 360,117,"Diesel   l : "+STR$(die(un,sta,ll))
  1815.   reichweite=INT(((die(un,sta,ll)/ver(ll))*100))
  1816.   settext 360,125,"    für KM : "+STR$(reichweite)
  1817.   settext 360,133,"-------------------------"
  1818.   settext 360,141,"Beurteilung TÜV :"
  1819.   settext 360,149,allgem$(a9)
  1820.   settext 360,157,"Beurteilung Reifen :"
  1821.   settext 360,165,reifzu$(r)
  1822.   settext 360,173,"** REIFEN **** CHECK-UP **"
  1823.   rewe=ll*300+INT(RND*ll+300)
  1824.   check=INT(lkwpreis(ll)/100)+alter(un,sta,ll)
  1825.   settext 360,181,"  "+STR$(rewe)+" DM     "+STR$(check)+" DM"
  1826.   LINE (362,174)-(454,183),3,B:LINE (454,174)-(566,183),3,B
  1827.   IF mot=4 OR a9>6 THEN
  1828.     text "LKW wird bald Stillgelegt ! Sehr hohe Kilometerleistung !!"
  1829.   END IF
  1830.   IF mot=5 OR a9=8 THEN
  1831.     text "LKW wird mit sofortiger Wirkung ersatzlos Stillgelegt !!"
  1832.     text "Strafe wegen Verkehrsgefährdung: 5000 DM"
  1833.     kap(un)=kap(un)-5000
  1834.     fako(un,sta,ll)=0:kfz(un,sta,ll)=0
  1835.     rp(un)=rp(un)-ab(ll)
  1836.     die(un,sta,ll)=0:alter(un,sta,ll)=0:stre(un,sta,ll)=0
  1837.     rei(un,sta,ll)=0:besitz(un)=besitz(un)-1
  1838.     stern(un)=stern(un)-ll
  1839.   END IF     
  1840.   text "KLICK MAUS im Info-Feld"
  1841.  
  1842. infoab:
  1843. GOSUB maus
  1844. IF x>353 AND x<615 AND y>60 AND y<185 THEN
  1845.  IF x>362 AND x<454 AND y>175 AND y<183 THEN
  1846.    kap(un)=kap(un)-rewe:jack=jack+rewe
  1847.    COLOR 3,3:settext 101,127,"            "
  1848.    COLOR 1,3:settext 101,127,STR$(kap(un))
  1849.    rei(un,sta,ll)=0
  1850.    GOTO lkwcheck
  1851.  END IF
  1852.  IF x>454 AND x<566 AND y>175 AND y<183 THEN
  1853.    kap(un)=kap(un)-check:jack=jack+check
  1854.    COLOR 3,3:settext 101,127,"            "
  1855.    COLOR 1,3:settext 101,127,STR$(kap(un))
  1856.    alter(un,sta,ll)=0
  1857.    GOTO lkwcheck
  1858.  END IF      
  1859.  IF au>0 THEN
  1860.   GOSUB auftrag2
  1861.  ELSE
  1862.   LINE (353,60)-(615,185),6,BF
  1863.  END IF
  1864.  GOSUB frei
  1865.  GOTO start1
  1866. END IF
  1867. GOTO infoab
  1868.  
  1869. spielercheck:
  1870. check=un
  1871. LINE (353,60)-(615,185),6,BF
  1872. COLOR 1,6
  1873.   un=1:GOSUB poi
  1874.   settext 360,69,nam$(un)+" Punkte:"+STR$(poi(un))
  1875.   settext 360,77,"Kapital:"+STR$(kap(un))+" DM"
  1876.   settext 360,85,"LKW´s:"+STR$(besitz(un))+" Standorte:"+STR$(stand0%(un))
  1877.   IF unt>1 THEN
  1878.    COLOR 0,6
  1879.    un=2:GOSUB poi
  1880.    settext 360,93,nam$(un)+" Punkte:"+STR$(poi(un))
  1881.    settext 360,101,"Kapital:"+STR$(kap(un))+" DM"
  1882.    settext 360,109,"LKW´s:"+STR$(besitz(un))+" Standorte:"+STR$(stand0%(un))
  1883.   END IF
  1884.   IF unt>2 THEN
  1885.    COLOR 1,6
  1886.    un=3:GOSUB poi
  1887.    settext 360,117,nam$(un)+" Punkte:"+STR$(poi(un))
  1888.    settext 360,125,"Kapital:"+STR$(kap(un))+" DM"
  1889.    settext 360,133,"LKW´s:"+STR$(besitz(un))+" Standorte:"+STR$(stand0%(un))
  1890.   END IF
  1891.   IF unt>3 THEN
  1892.    COLOR 0,6
  1893.    un=4:GOSUB poi
  1894.    settext 360,141,nam$(un)+" Punkte:"+STR$(poi(un))
  1895.    settext 360,149,"Kapital:"+STR$(kap(un))+" DM"
  1896.    settext 360,157,"LKW´s:"+STR$(besitz(un))+" Standorte:"+STR$(stand0%(un))
  1897.   END IF
  1898.   IF unt>4 THEN
  1899.    COLOR 1,6
  1900.    un=5:GOSUB poi
  1901.    settext 360,165,nam$(un)+" Punkte:"+STR$(poi(un))
  1902.    settext 360,173,"Kapital:"+STR$(kap(un))+" DM"
  1903.    settext 360,181,"LKW´s:"+STR$(besitz(un))+" Standorte:"+STR$(stand(un))
  1904.   END IF
  1905.   text "KLICK MAUS IM INFO-FELD"
  1906.   un=check
  1907.   
  1908. spielerab:
  1909. GOSUB maus
  1910. IF x>353 AND x<615 AND y>60 AND y<185 THEN
  1911.  IF au>0 THEN
  1912.   GOSUB auftrag2
  1913.  ELSE
  1914.   LINE (353,60)-(615,185),6,BF
  1915.  END IF
  1916.  GOSUB frei 
  1917.  GOTO start1
  1918. END IF
  1919. GOTO spielerab
  1920.  
  1921. fahrtkatas:
  1922. lkweg=0:wett=0
  1923. RANDOMIZE TIMER
  1924. kt=INT(RND*100+1)
  1925. IF kt>10 THEN RETURN
  1926. IF s=1 THEN kt=INT(RND*12+1)
  1927. IF s=0 THEN kt=INT(RND*6+6)
  1928. IF kt=1 THEN RESTORE katas1
  1929. IF kt=2 THEN GOSUB weglkw:lkweg=1:RESTORE katas2
  1930. IF kt=3 THEN kap(un)=kap(un)-1000:jack=jack+1000:RESTORE katas3
  1931. IF kt=4 THEN GOSUB kommlkw:lkweg=2:RESTORE katas4
  1932. IF kt=5 THEN RESTORE katas5
  1933. IF kt=6 THEN RESTORE katas6
  1934. IF kt=7 THEN alter(un,sta,wa(an))=alter(un,sta,wa(an))+112:RESTORE katas7
  1935. IF kt=8 THEN rei(un,sta,wa(an))=rei(un,sta,wa(an))+INT(RND*500)+100:RESTORE katas8
  1936. IF kt=9 THEN alter(un,sta,wa(an))=alter(un,sta,wa(an))+24:RESTORE katas9
  1937. IF kt=10 THEN abzug=INT(RND*500)+200:kap(un)=kap(un)-abzug:jack=jack+abzug:RESTORE katas10
  1938. IF kt=11 THEN kap(un)=kap(un)+25000:RESTORE katas11
  1939. IF kt=12 THEN kap(un)=kap(un)-436:jack=jack+436:RESTORE katas12
  1940. wett=0
  1941. GOTO fahrtkatas1
  1942.  
  1943. wetter:
  1944. wett=0:kt=0
  1945. IF wetter=4 THEN
  1946.  wett=INT(RND*10+1)
  1947.  IF wett<5 THEN kap(un)=kap(un)-1500:jack=jack+1500:RESTORE winterkatas
  1948.  IF wett>4 THEN
  1949.    wette=INT(RND*5000+5000)
  1950.    kap(un)=kap(un)-wette:jack=jack+wette:RESTORE winterkatas1
  1951.  END IF
  1952. END IF
  1953. IF wetter=2 THEN kap(un)=kap(un)-500:jack=jack+500:RESTORE sommerkatas
  1954. IF wetter=3 THEN alter(un,sta,wa(an))=alter(un,sta,wa(an))+8:RESTORE herbstkatas
  1955. IF wetter=1 THEN die(un,sta,wa(an))=0:fako(un,sta,wa(an))=1:RESTORE fruhkatas
  1956.  
  1957. fahrtkatas1:
  1958. BEEP
  1959. LINE (8,82)-(163,162),1,BF
  1960. LINE (10,84)-(161,160),la,B
  1961. FOR k=1 TO 8
  1962.   READ katas$(k)
  1963. NEXT k
  1964. COLOR la,1
  1965. xs%=15
  1966. FOR i=1 TO 8:ys%=92+(i*8)
  1967.   e&=Move&(WINDOW(8),xs%,ys%)
  1968.   IF kt=10 AND i=8 THEN katas$(i)=katas$(i)+STR$(abzug)
  1969.   IF wett>4 AND i=8 THEN katas$(i)=katas$(i)+STR$(wette)
  1970.   PRINT katas$(i)
  1971. NEXT i
  1972. FOR i=1 TO 1000:NEXT 
  1973. IF kt=1 OR kt=2 OR kt=5 OR kt=6 THEN
  1974.   lkweg=3:kt=0
  1975.   FOR k=1 TO 1000:NEXT
  1976.   IF vers=0 THEN
  1977.    RESTORE nichtver
  1978.    kap(un)=kap(un)-transwert(an)
  1979.    GOTO fahrtkatas1
  1980.   END IF
  1981.   RESTORE dochver
  1982.   GOTO fahrtkatas1
  1983. END IF
  1984. RETURN
  1985.   
  1986. weglkw:
  1987. fako(un,sta,wa(an))=0:kfz(un,sta,wa(an))=0
  1988. rp(un)=rp(un)-ab(wa(an))
  1989. die(un,sta,wa(an))=0:alter(un,sta,wa(an))=0:stre(un,sta,wa(an))=0
  1990. rei(un,sta,wa(an))=0:besitz(un)=besitz(un)-1
  1991. stern(un)=stern(un)-wa(an)
  1992. RETURN 
  1993.  
  1994. kommlkw:
  1995. fako(un,sta,wa(an))=0
  1996. alter(un,sta,wa(an))=0:stre(un,sta,wa(an))=0
  1997. rei(un,sta,wa(an))=0
  1998. RETURN 
  1999.  
  2000. rennen:
  2001. LINE (0,0)-(640,200),1,BF
  2002. FOR kk=15 TO 180 STEP 15
  2003.  LINE (0,kk)-(640,kk),0
  2004. NEXT
  2005. LINE(0,91)-(640,91),2
  2006. LINE(0,92)-(640,92),3
  2007. COLOR 0,1
  2008. x1%=10:amiga=unt+1:nam$(amiga)="Amiga"
  2009. FOR i=1 TO amiga:y1%=-5+(i*15)
  2010.  e&=Move&(WINDOW(8),x1%,y1%)
  2011.  PRINT nam$(i)
  2012. NEXT
  2013. FOR i=1 TO amiga:y1%=85+(i*15)
  2014.  e&=Move&(WINDOW(8),x1%,y1%)
  2015.  PRINT nam$(i)
  2016. NEXT 
  2017. LOCATE 24,1:PRINT "Das Trucking-Rennen !  Der Preis :";jack;" DM"; 
  2018. lkwx=20:lkwy=5
  2019. FOR lkw=5 TO 10
  2020.  OBJECT.X lkw,lkwx
  2021.  OBJECT.Y lkw,lkwy
  2022.  OBJECT.ON lkw
  2023.  lkwy=lkwy+15
  2024. NEXT
  2025. lkwy=5:FOR lkw=5 TO 10:drix(lkw)=20:driy(lkw)=lkwy:lkwy=lkwy+15:wkl(lkw)=1:NEXT
  2026. text "KLICK MAUS zum START"
  2027. GOSUB maus
  2028. text "Peng"
  2029. RANDOMIZE TIMER
  2030.  
  2031. rennsta:
  2032. dri=INT(RND*amiga+5)
  2033. drix(dri)=drix(dri)+8
  2034. IF drix(dri)>620 THEN drix(dri)=20:driy(dri)=driy(dri)+90:wkl(dri)=2
  2035. OBJECT.X dri,drix(dri)
  2036. OBJECT.Y dri,driy(dri)
  2037. IF drix(dri)>595 AND wkl(dri)=2 THEN GOTO rennend
  2038. GOTO rennsta
  2039.  
  2040. rennend:
  2041. dri=dri-4
  2042. text "Gewinner ist "+nam$(dri)
  2043. IF dri<amiga THEN kap(dri)=kap(dri)+jack
  2044. text "KLICK MAUS"  
  2045. renn=INT(RND*40000&)+80000&
  2046. jack=0
  2047. GOSUB maus
  2048. GOSUB frei
  2049. OBJECT.OFF
  2050. PUT(0,0),ro%,PSET
  2051. GOTO start2
  2052.  
  2053. sonderinfo:
  2054.  GOSUB frei
  2055.  LINE (0,0)-(640,200),1,BF
  2056.  COLOR 0,1
  2057.  LOCATE 5,20:PRINT"*** Es Weihnachtet ***"
  2058.  LOCATE 7,1
  2059.  FOR wei=1 TO unt
  2060.   RANDOMIZE TIMER
  2061.   fahrer=besitz(wei)*2:weige=INT(RND*500)+1000:weigeza=fahrer*weige
  2062.   PRINT nam$(wei);TAB(20);"beschäftigt ";fahrer;"Fahrer."
  2063.   PRINT TAB(20);"Weihnachtsgeld pro Fahrer: ";weige;" DM = ";weigeza;" DM"
  2064.   kap(wei)=kap(wei)-weigeza
  2065.  NEXT wei
  2066.  text "KLICK MAUS"
  2067.  GOSUB maus
  2068.  GOSUB frei
  2069.  PUT(0,0),ro%,PSET
  2070. RETURN            
  2071.  
  2072. sonderinfo1:
  2073.  GOSUB frei
  2074.  LINE (0,0)-(640,200),1,BF
  2075.  COLOR 0,1
  2076.  LOCATE 5,20:PRINT"### Urlaubsgeld wird fällig ###"
  2077.  LOCATE 7,1
  2078.  FOR wei=1 TO unt
  2079.   RANDOMIZE TIMER
  2080.   fahrer=besitz(wei)*2:weige=INT(RND*200)+100:weigeza=fahrer*weige
  2081.   PRINT nam$(wei);TAB(20);"beschäftigt ";fahrer;"Fahrer."
  2082.   PRINT TAB(20);"Urlaubsgeld pro Fahrer: ";weige;" DM = ";weigeza;" DM"
  2083.   kap(wei)=kap(wei)-weigeza
  2084.  NEXT wei
  2085.  text "KLICK MAUS"
  2086.  GOSUB maus
  2087.  GOSUB frei
  2088.  PUT(0,0),ro%,PSET
  2089. RETURN            
  2090.  
  2091. sonderinfo2:
  2092. IF besitz(un)=0 THEN GOTO hohnsen
  2093. RANDOMIZE TIMER
  2094. soza=INT(RND*100)+1
  2095. IF soza>25 THEN GOTO hohnsen
  2096. soza=INT(RND*5+1)
  2097. GOSUB frei
  2098. LINE (0,0)-(640,200),1,BF
  2099. COLOR 0,1
  2100. LOCATE 5,20:PRINT "### SONDERZAHLUNG ###"
  2101. LOCATE 7,1
  2102. RESTORE wl
  2103. FOR soz=1 TO soza
  2104. READ soz$
  2105. NEXT
  2106. PRINT nam$(un);" zahlt für die Mitarbeiter seiner Firma ";firma$(un)
  2107. PRINT "aus gutem Herzen und voller Freude einen Betrag in Höhe von :"
  2108. soza=INT(RND*500)+50
  2109. PRINT soza;" DM je Mitarbeiter als ";soz$;"."
  2110. PRINT nam$(un);" beschäftigt ";besitz(un)*2;" Mitarbeiter und zahlt somit ";
  2111. PRINT soza*(besitz(un)*2);" DM"
  2112. kap(un)=kap(un)-soza*(besitz(un)*2)
  2113. text "KLICK MAUS"
  2114. GOSUB maus
  2115. GOSUB frei
  2116. PUT(0,0),ro%,PSET
  2117.  
  2118. hohnsen:
  2119. RETURN
  2120.  
  2121. wl:
  2122. DATA "Rentenbeitragsnachzahlung","Krankengeld","Erschwerniszulage"
  2123. DATA "Provision","Überstundenpauschale","guter Mensch"
  2124.  
  2125. erkl:
  2126. WINDOW OUTPUT 2
  2127. OPEN "I",#1,"trucking-erkl.txt"
  2128. erkl=1
  2129. CLS
  2130. WHILE NOT EOF(1)
  2131.  LINE INPUT #1,erkl$
  2132.  PRINT erkl$
  2133.  IF erkl=23 THEN
  2134.   PRINT ">>> TASTE <<<"
  2135.   WHILE INKEY$=""
  2136.   WEND
  2137.   CLS
  2138.   erkl=0
  2139.  END IF
  2140.  erkl=erkl+1
  2141. WEND
  2142. CLOSE#1
  2143. PRINT ">>> TASTE <<<"
  2144. WHILE INKEY$=""
  2145. WEND
  2146. l=1:GOSUB ladebild
  2147. GOTO abfr
  2148.